Index: tol/btol/vmatrix_type/tol_bvmat_bsr_impl.h
===================================================================
--- tol/btol/vmatrix_type/tol_bvmat_bsr_impl.h	(revision eeb77dceeb6cf52588ed1fa2c3d5f8ac7746e0bb)
+++ tol/btol/vmatrix_type/tol_bvmat_bsr_impl.h	(revision dcfa4008b5c2e4007c36a519dca695242f2ac9b9)
@@ -1862,5 +1862,5 @@
   int expand2AllEqu_covAndFactors(noise_info& resInfo);
 
-  int checkDimensions(int m);
+  virtual int checkDimensions(int m) { return(0); }
 
   int getMissing(BVMat& Y,
Index: tol/btol/vmatrix_type/vmat_bsr_primary.cpp
===================================================================
--- tol/btol/vmatrix_type/vmat_bsr_primary.cpp	(revision eeb77dceeb6cf52588ed1fa2c3d5f8ac7746e0bb)
+++ tol/btol/vmatrix_type/vmat_bsr_primary.cpp	(revision dcfa4008b5c2e4007c36a519dca695242f2ac9b9)
@@ -540,4 +540,22 @@
 
   /////////////////////////////////////////////////////////////////////////////
+  int checkDimensions(int m)
+  /////////////////////////////////////////////////////////////////////////////
+  {
+    int b = noise.vec.size();
+    if(!b)
+    {
+      Error(BSR()+"At least a vector of noise with independent normal distribution must be defined");
+      return(-4);
+    }
+    if(!m)
+    {
+      Error(BSR()+"At least a linear equation must be defined");
+      return(-5);
+    }
+    return(0);
+  };
+
+  /////////////////////////////////////////////////////////////////////////////
   int getData(vector<variable_info>&  linearInfo_,
               vector<missing_info>&   inputMissingInfo_,
