diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index 0ac6aaf1a7a37f96681f88e699375ecf018431b0..5c30f2ad0ade788ced8381707db31f8d01159b31 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -687,7 +687,8 @@ StaticModel::computeChainRuleJacobian()
             {
               auto &[eq, var, lag] { indices };
               assert(lag == 0);
-              blocks_jacobian_sparse_column_major_order[blk].emplace(pair{eq, var}, d1);
+              if (eq >= nb_recursives && var >= nb_recursives)
+                blocks_jacobian_sparse_column_major_order[blk].emplace(pair{eq-nb_recursives, var-nb_recursives}, d1);
             }
           blocks_jacobian_sparse_colptr[blk] = computeCSCColPtr(blocks_jacobian_sparse_column_major_order[blk], size);
         }