       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);
-      sortThread.sortAsync(d_ionHotLoc, d_ionHotVel, simState.numIonHot);
-      sortThread.sortAsync(d_ionColdLoc, d_ionColdVel, simState.numIonCold);
 
       // Start DEBUG
       //processingStream.synchronize();

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

      sortThread.waitForSort(d_ionHotLoc, d_ionHotVel);
      sortThread.waitForSort(d_ionColdLoc, d_ionColdVel);
      sortThread.waitForSort(d_eleHotLoc, d_eleHotVel);
      sortThread.waitForSort(d_eleColdLoc, d_eleColdVel);
#ifdef ENABLE_TIMERS
      movepTimer.start();
#endif

#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);

