diff --git a/mex/sources/ms-sbvar/mex_ms_forecast.cc b/mex/sources/ms-sbvar/mex_ms_forecast.cc
index 678be6b9581b430dc6f26a9d3dc5b998e13fc33e..08d5eabbe934f564fff7d9982bc3ee25f1a8e30b 100644
--- a/mex/sources/ms-sbvar/mex_ms_forecast.cc
+++ b/mex/sources/ms-sbvar/mex_ms_forecast.cc
@@ -115,6 +115,7 @@ mexFunction(int nlhs, mxArray *plhs[],
         for (s = 0; s < nstates; s++)
           {
             printf("Constructing percentiles for forecast - regime %d\n", s);
+            if (options->simulation_file) rewind(options->simulation_file);
             if (histogram = forecast_percentile_regime(options->shocks, options->simulation_file, options->thin, s, T, options->horizon, model, type))
               {
                 for (k = 0; k < options->num_percentiles; k++)
diff --git a/mex/sources/ms-sbvar/mex_ms_irf.cc b/mex/sources/ms-sbvar/mex_ms_irf.cc
index ae607dd570228ab0dae2ddb40ff3094f698ff6e6..fe01315628d6524ec291f52d02aa314fe38dabb9 100644
--- a/mex/sources/ms-sbvar/mex_ms_irf.cc
+++ b/mex/sources/ms-sbvar/mex_ms_irf.cc
@@ -114,6 +114,7 @@ mexFunction(int nlhs, mxArray *plhs[],
         for (s = 0; s < nstates; s++)
           {
             printf("Constructing percentiles for impulse responses - regime %d\n", s);
+            if (options->simulation_file) rewind(options->simulation_file);
             if (histogram = impulse_response_percentile_regime(options->simulation_file, options->thin, s, options->horizon, model, type))
               {
                 for (k = 0; k < options->num_percentiles; k++)
diff --git a/mex/sources/ms-sbvar/mex_ms_variance_decomposition.cc b/mex/sources/ms-sbvar/mex_ms_variance_decomposition.cc
index fdf0df03827850903e813e3d91123a1dcc9469e6..9d8e813a611417622b913e11c8e018d0d6095333 100644
--- a/mex/sources/ms-sbvar/mex_ms_variance_decomposition.cc
+++ b/mex/sources/ms-sbvar/mex_ms_variance_decomposition.cc
@@ -130,6 +130,7 @@ mexFunction(int nlhs, mxArray *plhs[],
                 }
               else
                 {
+                  if (options->simulation_file) rewind(options->simulation_file);
                   if (histogram = variance_decomposition_percentiles_regime(options->simulation_file, options->thin, s, options->horizon, model, type))
                     {
                       tvd = CreateMatrix(options->horizon, nvars*nvars);