diff --git a/src/tools/OpenMP.h b/src/tools/OpenMP.h
index 83aa36b5d1f9267a0a15be266e52fedd372f4bc7..702f8d38f9199e64bb63ee8301d95fb69e404801 100644
--- a/src/tools/OpenMP.h
+++ b/src/tools/OpenMP.h
@@ -57,7 +57,7 @@ unsigned OpenMP::getGoodNumThreads(const T*x,unsigned n) {
 // to cache line boundary
   unsigned m=n*sizeof(T)/(2*getCachelineSize());
   unsigned numThreads=getNumThreads();
-  if(m>numThreads) m=numThreads;
+  if(m>=numThreads) m=numThreads;
   else m=1;
   return m;
 }