diff --git a/mex/sources/bytecode/SparseMatrix.cc b/mex/sources/bytecode/SparseMatrix.cc
index 4af1ffa2099d643e2d022a55ffd35204b7c3af6b..80a1bd3d3955cfccf5c38f85b1b61c2426d0e71e 100644
--- a/mex/sources/bytecode/SparseMatrix.cc
+++ b/mex/sources/bytecode/SparseMatrix.cc
@@ -2805,7 +2805,7 @@ dynSparseMatrix::Sparse_transpose(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++)
     {