diff --git a/Geo/discreteFace.cpp b/Geo/discreteFace.cpp
index 28b41a42568e4e5981df764ae904c13c3ef8c163..df14ba3a433e3c50d7766168d93ad3108858d2a4 100644
--- a/Geo/discreteFace.cpp
+++ b/Geo/discreteFace.cpp
@@ -773,7 +773,7 @@ void discreteFace::addTriangle(triangulation* trian, MTriangle* t)
 
 void discreteFace::complex_crossField()
 {
-
+#if defined(HAVE_SOLVER)
   // COMPLEX linear system
   linearSystem<std::complex<double> > * lsys;
 
@@ -896,7 +896,7 @@ void discreteFace::complex_crossField()
   }
   fprintf(myfile,"};");
   fclose(myfile);
-
+#endif
 }
 
 
@@ -904,7 +904,7 @@ void discreteFace::complex_crossField()
 
 void discreteFace::crossField()
 {
-
+#if defined(HAVE_SOLVER)
   // linear system
   linearSystem<double> * lsys;
 
@@ -1044,7 +1044,7 @@ void discreteFace::crossField()
   }
   fprintf(myfile,"};");
   fclose(myfile);
-
+#endif
 }