diff --git a/Geo/discreteDiskFace.cpp b/Geo/discreteDiskFace.cpp
index eff590d77ee18f76474cff015e5057ce9fab9308..758b8ccb18831c104859d3a14b31fcf873cf0a39 100644
--- a/Geo/discreteDiskFace.cpp
+++ b/Geo/discreteDiskFace.cpp
@@ -377,6 +377,13 @@ bool discreteDiskFace::parametrize() const
 
   double t2 = Cpu();
   Msg::Debug("Assembly done in %8.3f seconds", t2 - t1);
+
+
+  if(!myAssemblerU.sizeOfR() || !myAssemblerV.sizeOfR()){
+    Msg::Warning("No unknowns in systems to compute parametrization - skipping");
+    return false;
+  }
+
   lsys_u->systemSolve();
   lsys_v->systemSolve();
   Msg::Debug("Systems solved");