diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp
index 3a67b606323978a043482a01cb60b5b1fb61ce5a..37212928dfdc5333a50c7fd3daa3b373c9bc70b6 100644
--- a/src/USER-INTEL/fix_intel.cpp
+++ b/src/USER-INTEL/fix_intel.cpp
@@ -532,8 +532,13 @@ void FixIntel::check_neighbor_intel()
       _offload_noghost = 0;
     }
     #endif
+
+    // avoid flagging a neighbor list as both USER-INTEL and USER-OMP
+    if (neighbor->requests[i]->intel)
+      neighbor->requests[i]->omp = 0;
+
     if (neighbor->requests[i]->skip)
-      error->all(FLERR, "Cannot yet use hybrid styles with Intel package.");
+      error->all(FLERR, "Hybrid styles with Intel package are unsupported.");
   }
 }
 
diff --git a/src/USER-OMP/fix_omp.cpp b/src/USER-OMP/fix_omp.cpp
index 8d54d5b4516f109c2202868d985ca47e62893ce2..8be54caada2d4b92f4e5f8ba524b088cbd87bd09 100644
--- a/src/USER-OMP/fix_omp.cpp
+++ b/src/USER-OMP/fix_omp.cpp
@@ -318,8 +318,11 @@ void FixOMP::set_neighbor_omp()
   const int neigh_omp = _neighbor ? 1 : 0;
   const int nrequest = neighbor->nrequest;
 
+  // flag *all* neighbor list requests as USER-OMP threaded,
+  // but skip lists already flagged as USER-INTEL threaded
   for (int i = 0; i < nrequest; ++i)
-    neighbor->requests[i]->omp = neigh_omp;
+    if (! neighbor->requests[i]->intel)
+      neighbor->requests[i]->omp = neigh_omp;
 }
 
 /* ---------------------------------------------------------------------- */