 #ifdef DEBUG_TRACE
       std::cout << "MoveHi" << std::endl;
 #endif
+      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
+      sortThread.waitForSort(d_ionColdLoc, d_ionColdVel);
       movep(d_ionColdLoc, d_ionColdVel, simState.numIonCold, 
          RATO, dev_ex, dev_ey, processingStream);
 

      densTimer.stop();
#endif

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

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

      // logger.flush();
      // END DEBUG

#ifdef ENABLE_TIMERS
      movepTimer.start();
#endif
