          printFreeMem();
       }
 
-      iterationTimer.start();
+      if (lfd == 0) 
+      {
+         iterationTimer.start();
+      }
 
       simState.simTime +=DELT;
       lfd++;

      densTimer.stop();
#endif

      sortThread.sortAsync(d_ionHotLoc, d_ionHotVel, simState.numIonHot);
      sortThread.sortAsync(d_ionColdLoc, d_ionColdVel, simState.numIonCold);
      sortThread.sortAsync(d_eleHotLoc, d_eleHotVel, simState.numEleHot);
      sortThread.sortAsync(d_eleColdLoc, d_eleColdVel, simState.numEleCold);

      // Start DEBUG
      //processingStream.synchronize();

#ifdef DEBUG_TRACE
      std::cout << "MoveHi" << std::endl;
#endif
      if(itRemainder == 1)
      {
         sortThread.waitForSort(d_ionHotLoc, d_ionHotVel);
      }
      movep(d_ionHotLoc, d_ionHotVel, simState.numIonHot, 
         RATO, dev_ex, dev_ey, processingStream);
#ifdef DEBUG_TRACE
      std::cout << "MoveCi" << std::endl;
#endif
      if(itRemainder == 2)
      {
         sortThread.waitForSort(d_ionColdLoc, d_ionColdVel);
      }
      movep(d_ionColdLoc, d_ionColdVel, simState.numIonCold, 
         RATO, dev_ex, dev_ey, processingStream);

