diff --git a/Accelerators/Vtkm/vtkmlib/CellSetConverters.cxx b/Accelerators/Vtkm/vtkmlib/CellSetConverters.cxx
index 7d9f06e03bd3e8352b896fa93004796ca4bdf27d..448d53a397e9b7d9315bcac56777a38bf9d9bbf1 100644
--- a/Accelerators/Vtkm/vtkmlib/CellSetConverters.cxx
+++ b/Accelerators/Vtkm/vtkmlib/CellSetConverters.cxx
@@ -73,7 +73,7 @@ struct ReorderHex : public vtkm::exec::FunctorBase
 struct RunReorder
 {
   RunReorder(vtkm::cont::ArrayHandle<vtkm::Id>& handle)
-    : Handle{ handle }
+    : Handle(handle)
   {
   }
 
@@ -135,9 +135,13 @@ struct BuildSingleTypeVoxelCellSetVisitor
       vtkm::cont::ArrayCopy(
         vtkm::cont::make_ArrayHandle(origData, numIds, vtkm::CopyFlag::Off), connHandle);
 
-      // reorder cells from voxel->hex:
+      // reorder cells from voxel->hex: which only can run on
+      // devices that have shared memory / vtable with the CPU
+      using SMPTypes = vtkm::List<vtkm::cont::DeviceAdapterTagTBB,
+        vtkm::cont::DeviceAdapterTagOpenMP, vtkm::cont::DeviceAdapterTagSerial>;
+
       RunReorder reorder{ connHandle };
-      vtkm::cont::TryExecute(reorder);
+      vtkm::cont::TryExecute(reorder, SMPTypes{});
     }
 
     using CellSetType = vtkm::cont::CellSetSingleType<>;