diff --git a/dynare++/kord/dynamic_model.cweb b/dynare++/kord/dynamic_model.cweb
index 77847164c139f29a3fedbfb74a90a489bbb9684a..2edca10d75a54884e04a7741726cc85667d0bc8d 100644
--- a/dynare++/kord/dynamic_model.cweb
+++ b/dynare++/kord/dynamic_model.cweb
@@ -39,13 +39,19 @@ void NameList::writeMat(mat_t* fd, const char* vname) const
 			else
 				m[j*getNum()+i] = ' ';
 
+# if MATIO_MAJOR_VERSION > 1 || (MATIO_MAJOR_VERSION == 1 && MATIO_MINOR_VERSION >= 5)
+  size_t dims[2];
+  const matio_compression compression = MAT_COMPRESSION_NONE;
+# else
   int dims[2];
+  const int compression = COMPRESSION_NONE;
+# endif
   dims[0] = getNum();
   dims[1] = maxlen;
 
   matvar_t *v = Mat_VarCreate(vname, MAT_C_CHAR, MAT_T_UINT8, 2, dims, m, 0);
 
-  Mat_VarWrite(fd, v, COMPRESSION_NONE);
+  Mat_VarWrite(fd, v, compression);
 
   Mat_VarFree(v);
   delete[] m;
diff --git a/dynare++/tl/cc/twod_matrix.cweb b/dynare++/tl/cc/twod_matrix.cweb
index 7132299959683d13d8a72b795163d00003b76ffd..1cbf6b2bb1294f5ce0ff5c85c49a40068c64d2a6 100644
--- a/dynare++/tl/cc/twod_matrix.cweb
+++ b/dynare++/tl/cc/twod_matrix.cweb
@@ -34,7 +34,13 @@ ConstTwoDMatrix::ConstTwoDMatrix(int first_row, int num, const ConstTwoDMatrix&
 @<|ConstTwoDMatrix::writeMat| code@>=
 void ConstTwoDMatrix::writeMat(mat_t* fd, const char* vname) const
 {
+#if MATIO_MAJOR_VERSION > 1 || (MATIO_MAJOR_VERSION == 1 && MATIO_MINOR_VERSION >= 5)
+  size_t dims[2];
+  const matio_compression compression = MAT_COMPRESSION_NONE;
+#else
   int dims[2];
+  const int compression = COMPRESSION_NONE;
+#endif
   dims[0] = nrows();
   dims[1] = ncols();
   double *data = new double[nrows()*ncols()];
@@ -45,7 +51,7 @@ void ConstTwoDMatrix::writeMat(mat_t* fd, const char* vname) const
 
   matvar_t *v = Mat_VarCreate(vname, MAT_C_DOUBLE, MAT_T_DOUBLE, 2, dims, data, 0);
 
-  Mat_VarWrite(fd, v, COMPRESSION_NONE);
+  Mat_VarWrite(fd, v, compression);
 
   Mat_VarFree(v);
   delete[] data;