diff --git a/Numeric/fullMatrix.h b/Numeric/fullMatrix.h
index 01ac94f1a846f656b7fb42d8e735048942455fc7..9f8e02c5f37647b2409ed24ed59dd561d5002959 100644
--- a/Numeric/fullMatrix.h
+++ b/Numeric/fullMatrix.h
@@ -152,12 +152,14 @@ class fullMatrix
       if (_own_data && _data) delete[] _data;
       _data = new scalar[_r * _c];
       _own_data = true;
+      scale(0.);
       return true;
     }
     else{
       _r = r;
       _c = c;
     }
+    scale(0.);
     return false; // no reallocation
   }
   void setAsProxy(const fullMatrix<scalar> &original)