diff --git a/mex/sources/bytecode/SparseMatrix.cc b/mex/sources/bytecode/SparseMatrix.cc
index bb4e2eaf4e29592addaa507d8107d0b15e411402..ef790d8c5d9198caa96834c96018efbe452667ba 100644
--- a/mex/sources/bytecode/SparseMatrix.cc
+++ b/mex/sources/bytecode/SparseMatrix.cc
@@ -1929,7 +1929,7 @@ dynSparseMatrix::Sparse_transpose(const mxArray *A_m)
   mwIndex *C_j = mxGetJc(C_m);
   double *C_d = mxGetPr(C_m);
   unsigned int nze_C = 0, nze_A = 0;
-  memset(C_j, 0, m_A);
+  fill_n(C_j, m_A+1, 0);
   map<pair<mwIndex, unsigned int>, double> B2;
   for (unsigned int i = 0; i < n_A; i++)
     while (nze_A < static_cast<unsigned int>(A_j[i+1]))