diff --git a/CMakeLists.txt b/CMakeLists.txt
index 56c454c052fbccc8250f4ab3662724c5280413b8..13772c164f5498fd9a5b05cf578c266a63c39947 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -302,6 +302,13 @@ else(CBMROOT_MINIMAL)
       set(FairMQ_HAS_StateMachine FALSE)
     endif()
   endif()
+
+  # For the time being don't use OpenMP on APPLE
+  # There are runtime problems with L1 (Redmine #2028)
+  if(NOT APPLE)
+    find_package(OpenMP)
+  endif()
+
 endif(CBMROOT_MINIMAL)
 
 # set a variable which should be used in all CMakeLists.txt
diff --git a/analysis/detectors/sts/CMakeLists.txt b/analysis/detectors/sts/CMakeLists.txt
index 8b9e9c0139321302b03dab5f50ba323291864c9e..fb9724d2aca2f5d0b808b034b64edaa29a95a2d4 100644
--- a/analysis/detectors/sts/CMakeLists.txt
+++ b/analysis/detectors/sts/CMakeLists.txt
@@ -49,15 +49,6 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
 # ---------------------------------------------------------
 
 
-# ---- Enable OpenMP  -------------------------------------
-find_package(OpenMP)
-if (OPENMP_FOUND)
-  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-endif()
-# ---------------------------------------------------------
-
-
 # -----  Let cmake do the job   ---------------------------
 include_directories( ${INCLUDE_DIRECTORIES})
 include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
diff --git a/reco/L1/CMakeLists.txt b/reco/L1/CMakeLists.txt
index 96810c95292b3280cfbe5b5d702d3e97662f955d..468e2f35e1b8cb744e4fc8c9261b6c2771fe572f 100644
--- a/reco/L1/CMakeLists.txt
+++ b/reco/L1/CMakeLists.txt
@@ -53,6 +53,19 @@ Set(SYSTEM_INCLUDE_DIRECTORIES
   ${KFParticle_INCLUDE_DIR}
 )
 
+# For the time being don't use OpenMP on APPLE
+# There are runtime problems with L1 (Redmine #2028)
+if(NOT APPLE)
+  if (OPENMP_FOUND)
+    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+    set(SYSTEM_INCLUDE_DIRECTORIES
+      ${SYSTEM_INCLUDE_DIRECTORIES}
+      ${OpenMP_CXX_INCLUDE_DIRS}
+    )
+  endif()
+endif()
+
 Include_Directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})
 
 set(LINK_DIRECTORIES
@@ -62,6 +75,14 @@ ${ROOT_LIBRARY_DIR}
 ${FAIRROOT_LIBRARY_DIR}
 ${Boost_LIBRARY_DIRS}
 )
+
+if (OPENMP_FOUND AND APPLE)
+  get_filename_component(OpenMP_CXX_LIBRARY_DIR ${OpenMP_CXX_LIBRARIES} DIRECTORY)
+  Set(LINK_DIRECTORIES
+    ${LINK_DIRECTORIES}
+    ${OpenMP_CXX_LIBRARY_DIR}
+  )
+endif()
  
 link_directories( ${LINK_DIRECTORIES})
 
@@ -140,11 +161,6 @@ OffLineInterface/CbmL1StsTrackFinder.h
 
 
 
-find_package(OpenMP)
-if (OPENMP_FOUND)
-  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-endif()
 
 If(APPLE)
   ADD_DEFINITIONS(-Wall -Wsign-promo -Wctor-dtor-privacy -Wreorder -Wno-deprecated -Wno-parentheses -DDO_TPCCATRACKER_EFF_PERFORMANCE -DNonhomogeneousField -DCBM -DUSE_TIMERS) #   -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast : wait for other parts of cbmroot\root. 
@@ -162,17 +178,6 @@ If(APPLE)
     ADD_DEFINITIONS(-Wno-non-template-friend)
   EndIf()
 
-  if (OPENMP_FOUND)
-    Execute_Process(COMMAND clang++ -print-prog-name=clang++
-                  OUTPUT_VARIABLE _Exe)
-    Get_Filename_Component(link_directory ${_Exe} DIRECTORY)
-    Set(link_directory "${link_directory}/../lib") 
-    Set(LINK_DIRECTORIES
-      ${LINK_DIRECTORIES}
-      ${link_directory}
-    )
-    link_directories( ${LINK_DIRECTORIES})
-  endif()
 
 Else()
   
@@ -194,10 +199,16 @@ ENDIF (SSE_FOUND)
 
 set(LINKDEF L1LinkDef.h)
 Set(LIBRARY_NAME L1)
-Set(DEPENDENCIES
-    #Rich 
+if (OPENMP_FOUND AND APPLE)
+  Set(DEPENDENCIES
+    KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex ${OpenMP_CXX_LIBRARIES}
+#   KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex omp
+  )
+else()
+  Set(DEPENDENCIES
     KF CbmMuchBase CbmTrdBase CbmStsBase CbmRecoBase CbmBase CbmData CbmRecoSts Base boost_regex
-)
+  )
+endif()
 
 GENERATE_LIBRARY()
 
@@ -205,3 +216,12 @@ Install(FILES CbmL1Counters.h
               L1Algo/L1EventEfficiencies.h
         DESTINATION include
        )
+
+# Test to check if OpenMP is working on APPLE
+#set(EXE_NAME test_openmp)
+#set(SRCS test.cxx)
+#set(DEPENDENCIES
+#  ${DEPENDENCIES}
+#  omp
+#)
+#GENERATE_EXECUTABLE()
diff --git a/reco/detectors/sts/CMakeLists.txt b/reco/detectors/sts/CMakeLists.txt
index 7a22abb28b75073b069265127258b19c06df85f0..0dc91bcde29a1f539748ff32dc48e80e7a2a7fee 100644
--- a/reco/detectors/sts/CMakeLists.txt
+++ b/reco/detectors/sts/CMakeLists.txt
@@ -78,11 +78,11 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
 
 
 # ---- Enable OpenMP  -------------------------------------
-find_package(OpenMP)
-if (OPENMP_FOUND)
-  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-endif()
+# Comented since the OpenMP code is also commented in the moment
+#if (OPENMP_FOUND)
+#  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+#  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+#endif()
 # ---------------------------------------------------------
 
 
diff --git a/reco/tracking/lx/Simple/CMakeLists.txt b/reco/tracking/lx/Simple/CMakeLists.txt
index 04410405d99cfe996cbc5701051187a4ec2fb0b9..5b53647a122e6c114b2c38a1e360ec45369108e2 100644
--- a/reco/tracking/lx/Simple/CMakeLists.txt
+++ b/reco/tracking/lx/Simple/CMakeLists.txt
@@ -39,8 +39,6 @@ Set(SRCS
   LxTrackAna.cxx
 )
 
-find_package(OpenMP)
-
 If (OPENMP_FOUND)
   Set(SRCS ${SRCS} LxParall.cxx)
 EndIf (OPENMP_FOUND)
diff --git a/reco/tracking/lxTriplet/CMakeLists.txt b/reco/tracking/lxTriplet/CMakeLists.txt
index 6ac0362d64c34286ffde61dce36904aa35d192b0..e0599c6c9e7cb3020b828c49354d3f0ee8b86ef5 100644
--- a/reco/tracking/lxTriplet/CMakeLists.txt
+++ b/reco/tracking/lxTriplet/CMakeLists.txt
@@ -39,8 +39,6 @@ Set(SRCS
   LxTrackAna.cxx
 )
 
-find_package(OpenMP)
-
 Set(NO_DICT_SRCS
   LxCATriplets.cxx
   LxEff.cxx
@@ -49,10 +47,6 @@ Set(NO_DICT_SRCS
   LxUtils.cxx
 )
 
-If (OPENMP_FOUND)
-  Set( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -mavx -fopenmp" )
-EndIf (OPENMP_FOUND)
-
 set(LINKDEF LxLinkDef.h)
 Set(LIBRARY_NAME LxTrackTripplet)
 Set(DEPENDENCIES
diff --git a/sim/detectors/sts/CMakeLists.txt b/sim/detectors/sts/CMakeLists.txt
index df54d5e358ff954e017fb679e87e24421b49af16..d573e16743b3dcd6857aa60aa70c8e4266fcae28 100644
--- a/sim/detectors/sts/CMakeLists.txt
+++ b/sim/detectors/sts/CMakeLists.txt
@@ -78,15 +78,6 @@ set(LINKDEF ${LIBRARY_NAME}LinkDef.h)
 # ---------------------------------------------------------
 
 
-# ---- Enable OpenMP  -------------------------------------
-find_package(OpenMP)
-if (OPENMP_FOUND)
-  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-endif()
-# ---------------------------------------------------------
-
-
 # -----  Create the library  ------------------------------
 include_directories( ${INCLUDE_DIRECTORIES})
 include_directories(SYSTEM ${SYSTEM_INCLUDE_DIRECTORIES})