diff --git a/configure.ac b/configure.ac
index 23d6afe9b80474587afae00936b6f8e361fc9b45..1b22870a7572526f8ddacca6b1db52b99a43db8a 100755
--- a/configure.ac
+++ b/configure.ac
@@ -127,7 +127,6 @@ fi
 
 ## Check for PETSC
 
-AX_LIB_PETSC()
 
 #########
 
@@ -320,6 +319,10 @@ AX_EIGEN([],[])
 
 ###### Checking for libquadmath and libifcore
 
+
+AX_LIB_PETSC()
+
+
 AC_CHECK_LIB(ifcore, for_cpystr, [ LIBIFCORE=-lifcore  ], [ LIBIFCORE= ])
 AC_CHECK_LIB(quadmath, sinq, [ LIBQUADMATH=-lquadmath  ], [ LIBQUADMATH= ])
 AC_SUBST(LIBQUADMATH)
diff --git a/m4/ax_petsc_lib.m4 b/m4/ax_petsc_lib.m4
index 1bd159091052c10c40e9e9317a4cca0ec579c4ec..01c7dcf0999b68484c16b8ab2fb88cf0328e8a4b 100755
--- a/m4/ax_petsc_lib.m4
+++ b/m4/ax_petsc_lib.m4
@@ -101,11 +101,11 @@ AC_DEFUN([AX_LIB_PETSC], [
                 if test -n "$with_petsc" ; then
                         old_CC=$CC
                         old_CFLAGS=$CFLAGS
-                        old_LDFLAGS=$LDFLAGS
+                        old_LIBS=$LIBS
 			AX_OPENMP([CFLAGS="$OPENMP_CFLAGS"
 				   LDFLAGS="$OPENMP_LDFLAGS"],[])
                         CFLAGS="$CFLAGS -I$with_petsc/include $HDF5_INCLUDE $METIS_INCLUDE "
-                        LDFLAGS="$LDFLAGS -L$with_petsc/lib $HDF5_LDFLAGS  $HDF5_LIBS $METIS_LIB -lmetis "
+                        LIBS="$LDFLAGS -L$with_petsc/lib $HDF5_LDFLAGS $SUITESPARSE_LIBS  $HDF5_LIBS $METIS_LIB -lmetis "
 			CC=$CXX
 
                         AC_LANG_SAVE
@@ -118,7 +118,7 @@ AC_MSG_WARN([could not find header file petsc.h]))
                         AC_LANG_RESTORE
 
                         CFLAGS=$old_CFLAGS
-                        LDFLAGS=$old_LDFLAGS
+                        LIBS=$old_LIBS
                         CC=$old_CC
 
                         AC_MSG_CHECKING(PETSC in $with_petsc)