diff --git a/configure.ac b/configure.ac
index 78e94cf7416e3d83aa6719b401c3d66ec75a5c83..0134a6920d0493225e530365ce9d87077d723c3d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -154,6 +154,9 @@ if [x"have_quad_math" == x"yes" $&& x"have_quad_math" == x"yes" ]; then
     LIBQUADMATH=" -lquadmath "
 fi
 
+AC_CHECK_LIB(ifcore, for_copy, [ LIBIFCORE=-lifcore  ], [ LIBIFCORE= ])
+AC_SUBST(LIBIFCORE)
+
 AC_SUBST(OPENMP_CFLAGS)
 AC_SUBST(OPENMP_LDFLAGS)
 
diff --git a/script/detect_gcc b/script/detect_gcc
index 928ec0cc8699aa96c7f6b3cbc7dd6117813cb929..85155f5979a8b5730c07a1ad647d77bf3204a4be 100755
--- a/script/detect_gcc
+++ b/script/detect_gcc
@@ -128,12 +128,12 @@ function detect_compiler()
         dgc_middle=$(icpc --version | grep icpc | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\2/g')
         dgc_minor=$(icpc --version | grep icpc | sed 's/.*\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\3/g')
 
-        if [ $dgc_major -gt 16 ]; then
+        if [ $dgc_major -gt 17 ]; then
           echo -e "icpc $dgc_major.$dgc_middle.$dgc_minor \033[92;1m SUCCESS \033[0m"
           dgc_compiler=icpc
           dgc_ret=1
           icpc_found=1
-        elif [ $dgc_major -lt 16 ]; then
+        elif [ $dgc_major -lt 17 ]; then
           echo -e "icpc $dgc_major.$dgc_middle.$dgc_minor  \033[91;5;1m FAILED \033[0m your icpc version is too old intel 16.0.2 at least required"
           dgc_ret=0
           icpc_found=0
@@ -142,10 +142,6 @@ function detect_compiler()
           dgc_compiler=icpc
           dgc_ret=1
           icpc_found=1
-        elif [ $dgc_middle -lt 0 ]; then
-          echo -e "icpc $dgc_major.$dgc_middle.$dgc_minor \033[91;5;1m FAILED \033[0m your icpc version is too old 16.0.2 at least required"
-          dgc_ret=0
-          icpc_found=0
         else
           echo -e "icpc $dgc_major.$dgc_middle.$dgc_minor \033[92;1m SUCCESS \033[0m"
           dgc_compiler=icpc