diff --git a/main/python/cmdLineUtils.py b/main/python/cmdLineUtils.py
index 629858d15084d30e18f00853725b0baefe80b185..ce3f7516bdc775850377bff3c858226e3665738a 100644
--- a/main/python/cmdLineUtils.py
+++ b/main/python/cmdLineUtils.py
@@ -818,13 +818,10 @@ def _copyTreeSubset(sourceFile,sourcePathSplit,destFile,destPathSplit,firstEvent
         lastEvent = nbrEntries-1
     numberOfEntries = (lastEvent-firstEvent)+1
 
-    # "Skim" events based on branch values using selectionString
-    # as well as selecting a range of events by index
-    outputTree = bigTree.CopyTree(selectionString,"",numberOfEntries,firstEvent)
-
     # "Slim" tree by removing branches -
     # This is done after the skimming to allow for the user to skim on a
     # branch they no longer need to keep
+    outputTree = bigTree
     if branchexclude:
         _setBranchStatus(outputTree,branchexclude,0)
     if branchinclude:
@@ -832,6 +829,10 @@ def _copyTreeSubset(sourceFile,sourcePathSplit,destFile,destPathSplit,firstEvent
     if branchexclude or branchinclude:
         outputTree = outputTree.CloneTree()
 
+    # "Skim" events based on branch values using selectionString
+    # as well as selecting a range of events by index
+    outputTree = outputTree.CopyTree(selectionString,"",numberOfEntries,firstEvent)
+
     outputTree.Write()
     return retcode