diff --git a/lib/nBodySim.cpp b/lib/nBodySim.cpp
index 7ed7323932773ca233de9a0230d8d98cb1494c88..eeb28e3989b151c90007834929735d9e1fa6e508 100644
--- a/lib/nBodySim.cpp
+++ b/lib/nBodySim.cpp
@@ -159,10 +159,10 @@ void nBodySim::doTimeStep(double dt) {
     for (unsigned i=0; i < nParticles_; ++i) {
         for (unsigned j=0; j < 3; ++j) {
             // TODO
-            tree_->drift(dt/2);
+            tree_->kick(dt/2);
+            tree_->drift(dt);
             tree_->update();
-            tree_->kick(dt);
-            tree_->drift(dt/2);
+            tree_->kick(dt/2);
         }
     }
 }