diff --git a/Plugin/AnalyseCurvedMesh.cpp b/Plugin/AnalyseCurvedMesh.cpp
index df62e9ba759e46364fe3f7e64d9ff84778be29dd..8c871743e7f437e1e96b5bd3d8fc2011b9b6fe46 100644
--- a/Plugin/AnalyseCurvedMesh.cpp
+++ b/Plugin/AnalyseCurvedMesh.cpp
@@ -20,7 +20,9 @@
 #include <sstream>
 #include <fstream>
 #include "qualityMeasuresJacobian.h"
+#if defined(HAVE_VISUDEV)
 #include "BasisFactory.h"
+#endif
 
 class bezierBasis;
 
@@ -31,8 +33,10 @@ StringXNumber CurvedMeshOptions_Number[] = {
   {GMSH_FULLRC, "Hiding threshold", NULL, 9},
   {GMSH_FULLRC, "Draw PView", NULL, 0},
   {GMSH_FULLRC, "Recompute", NULL, 0},
-  {GMSH_FULLRC, "Dimension of elements", NULL, -1},
-  {GMSH_FULLRC, "Element to draw quality", NULL, -1}
+  {GMSH_FULLRC, "Dimension of elements", NULL, -1}
+#if defined(HAVE_VISUDEV)
+ ,{GMSH_FULLRC, "Element to draw quality", NULL, -1}
+#endif
 };
 
 extern "C"
@@ -108,6 +112,7 @@ PView* GMSH_AnalyseCurvedMeshPlugin::execute(PView *v)
   bool recompute = static_cast<bool>(CurvedMeshOptions_Number[5].def);
   int askedDim   = static_cast<int>(CurvedMeshOptions_Number[6].def);
 
+#if defined(HAVE_VISUDEV)
   _pwJac = computeJac/2;
   _pwIGE = computeIGE/2;
   _pwICN = computeICN/2;
@@ -117,6 +122,7 @@ PView* GMSH_AnalyseCurvedMeshPlugin::execute(PView *v)
   _dataPViewJac.clear();
   _dataPViewIGE.clear();
   _dataPViewICN.clear();
+#endif
 
   if (askedDim < 0 || askedDim > 4) askedDim = _m->getDim();
 
@@ -176,7 +182,9 @@ PView* GMSH_AnalyseCurvedMeshPlugin::execute(PView *v)
   if (printStatS) _printStatIGE();
   if (printStatI) _printStatICN();
 
+#if defined(HAVE_VISUDEV)
   _createPViewPointwise();
+#endif
 
   // Create PView
   if (drawPView)
@@ -358,7 +366,9 @@ void GMSH_AnalyseCurvedMeshPlugin::_computeMinMaxJandValidity(int dim)
       if (min < 0 && max < 0) ++cntInverted;
       progress.next();
 
+#if defined(HAVE_VISUDEV)
       _computePointwiseQuantities(el, normals);
+#endif
     }
     delete normals;
   }
@@ -532,6 +542,7 @@ void GMSH_AnalyseCurvedMeshPlugin::_printStatICN()
             infminI, avgminI, supminI);
 }
 
+#if defined(HAVE_VISUDEV)
 void GMSH_AnalyseCurvedMeshPlugin::_computePointwiseQuantities(MElement *el,
                                                                const fullMatrix<double> *normals) {
   if (_numElementToScan != -1 && el->getNum() != _numElementToScan) return;
@@ -609,5 +620,6 @@ void GMSH_AnalyseCurvedMeshPlugin::_createPViewPointwise()
     );
   }
 }
+#endif
 
 #endif
diff --git a/Plugin/AnalyseCurvedMesh.h b/Plugin/AnalyseCurvedMesh.h
index 358f03ed139a86ce25586d34ce33b6e54bd184de..cddb2796fcbfb1086125fd1c20b0588b447be9f9 100644
--- a/Plugin/AnalyseCurvedMesh.h
+++ b/Plugin/AnalyseCurvedMesh.h
@@ -40,6 +40,7 @@ private :
   GModel *_m;
   double _threshold;
 
+#if defined(HAVE_VISUDEV)
   // Pointwise data
   int _numElementToScan;
   bool _pwJac, _pwIGE, _pwICN;
@@ -48,6 +49,7 @@ private :
   std::map<int, std::vector<double>> _dataPViewICN;
   int _type2tag[20] = {0};
   int _viewOrder = 0;
+#endif
 
   // for 1d, 2d, 3d
   bool _computedJac[3], _computedIGE[3], _computedICN[3];
@@ -89,9 +91,11 @@ private :
   void _printStatIGE();
   void _printStatICN();
 
+#if defined(HAVE_VISUDEV)
   void _computePointwiseQuantities(MElement *, const fullMatrix<double> *normals);
   void _createPViewPointwise();
   void _setInterpolationMatrices(PView *);
+#endif
 };
 
 #endif