diff --git a/Custom_EasyBlocks/numexpr.py b/Custom_EasyBlocks/numexpr.py
index dc7e301ceb4dad323b53a137f2874c1358556967..6ed87fa914e2bef7cc370d4620f0e8bb75145932 100644
--- a/Custom_EasyBlocks/numexpr.py
+++ b/Custom_EasyBlocks/numexpr.py
@@ -1,5 +1,5 @@
 ##
-# Copyright 2019-2021 Ghent University
+# Copyright 2019-2022 Ghent University
 #
 # This file is part of EasyBuild,
 # originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
@@ -76,6 +76,13 @@ class EB_numexpr(PythonPackage):
                 # use default kernels as fallback for non-AVX systems
                 mkl_vml_lib = 'mkl_vml_def'
 
+            if self.toolchain.comp_family() == toolchain.INTELCOMP:
+                mkl_threading_libs = ['mkl_intel_thread', 'iomp5']
+            elif self.toolchain.comp_family() == toolchain.GCC:
+                mkl_threading_libs = ['mkl_gnu_thread', 'gomp']
+            else:
+                mkl_threading_libs = []
+
             mkl_ver = get_software_version('imkl')
 
             if LooseVersion(mkl_ver) >= LooseVersion('2021'):
@@ -85,8 +92,8 @@ class EB_numexpr(PythonPackage):
                 ]
                 mkl_include_dirs = os.path.join(
                     self.imkl_root, 'mkl', 'latest', 'include')
-                mkl_libs = ['mkl_intel_lp64',
-                            'mkl_intel_thread', 'mkl_core', 'iomp5']
+                mkl_libs = ['mkl_intel_lp64', 'mkl_core',
+                            mkl_vml_lib] + mkl_threading_libs
             else:
                 mkl_lib_dirs = [
                     os.path.join(self.imkl_root, 'mkl', 'lib', 'intel64'),
@@ -94,27 +101,23 @@ class EB_numexpr(PythonPackage):
                 ]
                 mkl_include_dirs = os.path.join(
                     self.imkl_root, 'mkl', 'include')
-                mkl_libs = ['mkl_intel_lp64', 'mkl_intel_thread',
-                            'mkl_core', 'mkl_def', mkl_vml_lib, 'iomp5']
+                mkl_libs = ['mkl_intel_lp64', 'mkl_core',
+                            'mkl_def', mkl_vml_lib] + mkl_threading_libs
 
-            site_cfg_txt = '\n'.join([
+            site_cfg_lines = [
                 "[mkl]",
                 "include_dirs = %s" % mkl_include_dirs,
                 "library_dirs = %s" % os.pathsep.join(
                     mkl_lib_dirs + self.toolchain.get_variable('LDFLAGS', typ=list)),
-            ])
+            ]
 
             if LooseVersion(self.version) >= LooseVersion("2.8.0"):
-                site_cfg_txt = '\n'.join([
-                    site_cfg_txt,
-                    "libraries = %s" % os.pathsep.join(mkl_libs),
-                ])
+                site_cfg_lines.append("libraries = %s" %
+                                      os.pathsep.join(mkl_libs))
             else:
-                site_cfg_txt = '\n'.join([
-                    site_cfg_txt,
-                    "mkl_libs = %s" % ', '.join(mkl_libs),
-                ])
-            write_file('site.cfg', site_cfg_txt)
+                site_cfg_lines.append("mkl_libs = %s" % ', '.join(mkl_libs))
+
+            write_file('site.cfg', '\n'.join(site_cfg_lines))
 
     def sanity_check_step(self):
         """Custom sanity check for numexpr."""