diff --git a/doc/manual/source/the-model-file.rst b/doc/manual/source/the-model-file.rst
index ab9e39519e3568cac7032ebdad42735303704fc4..c9d630722fd8e51f415c00b6a2ac04327656f948 100644
--- a/doc/manual/source/the-model-file.rst
+++ b/doc/manual/source/the-model-file.rst
@@ -4498,6 +4498,11 @@ Computing the stochastic solution
        Don’t print moments of the endogenous variables (printing them
        is the default).
 
+    .. option:: nomodelsummary
+
+       Don’t print the model summary and the covariance of the exogenous shocks (printing them
+       is the default).
+
     .. option:: nograph
 
        Do not create graphs (which implies that they are not saved to
diff --git a/matlab/default_option_values.m b/matlab/default_option_values.m
index fe2e7b8710c83e9893ae23f28b545831e35d7370..cf0ccfa0156d84d488fff57ab07fbb72d17fa3c7 100644
--- a/matlab/default_option_values.m
+++ b/matlab/default_option_values.m
@@ -164,6 +164,7 @@ options_.one_sided_hp_filter = 0;
 options_.filtered_theoretical_moments_grid = 512;
 options_.nodecomposition = false;
 options_.nomoments = false;
+options_.nomodelsummary = false;
 options_.nocorr = false;
 options_.periods = 0;
 options_.noprint = false;
diff --git a/matlab/stoch_simul.m b/matlab/stoch_simul.m
index caf4aba0706802bc009d36585f8c17c63185359e..6803b90404476132e909a6c5a3fafe8d8975fff8 100644
--- a/matlab/stoch_simul.m
+++ b/matlab/stoch_simul.m
@@ -134,36 +134,38 @@ if info(1)
 end
 
 if ~options_.noprint
-    skipline()
-    disp('MODEL SUMMARY')
-    skipline()
-    disp(['  Number of variables:         ' int2str(M_.endo_nbr)])
-    disp(['  Number of stochastic shocks: ' int2str(M_.exo_nbr)])
-    disp(['  Number of state variables:   ' int2str(M_.nspred)])
-    disp(['  Number of jumpers:           ' int2str(M_.nsfwrd)])
-    disp(['  Number of static variables:  ' int2str(M_.nstatic)])
-    my_title='MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS';
-    labels = M_.exo_names;
-    headers = vertcat('Variables', labels);
-    lh = cellofchararraymaxlength(labels)+2;
-    dyntable(options_, my_title, headers, labels, M_.Sigma_e, lh, 10, 6);
-    if options_.TeX
-        labels = M_.exo_names_tex;
-        headers = vertcat('Variables', labels);
-        lh = cellofchararraymaxlength(labels)+2;
-        dyn_latex_table(M_, options_, my_title, 'covar_ex_shocks', headers, labels, M_.Sigma_e, lh, 10, 6);
-    end
-    if ~all(diag(M_.H)==0)
-        my_title='MATRIX OF COVARIANCE OF MEASUREMENT ERRORS';
-        labels = cellfun(@(x) horzcat('SE_', x), options_.varobs, 'UniformOutput', false);
+    if ~options_.nomodelsummary
+        skipline()
+        disp('MODEL SUMMARY')
+        skipline()
+        disp(['  Number of variables:         ' int2str(M_.endo_nbr)])
+        disp(['  Number of stochastic shocks: ' int2str(M_.exo_nbr)])
+        disp(['  Number of state variables:   ' int2str(M_.nspred)])
+        disp(['  Number of jumpers:           ' int2str(M_.nsfwrd)])
+        disp(['  Number of static variables:  ' int2str(M_.nstatic)])
+        my_title='MATRIX OF COVARIANCE OF EXOGENOUS SHOCKS';
+        labels = M_.exo_names;
         headers = vertcat('Variables', labels);
         lh = cellofchararraymaxlength(labels)+2;
-        dyntable(options_, my_title, headers, labels, M_.H, lh, 10, 6);
+        dyntable(options_, my_title, headers, labels, M_.Sigma_e, lh, 10, 6);
         if options_.TeX
             labels = M_.exo_names_tex;
             headers = vertcat('Variables', labels);
             lh = cellofchararraymaxlength(labels)+2;
-            dyn_latex_table(M_, options_, my_title, 'covar_ME', headers, labels, M_.H, lh, 10, 6);
+            dyn_latex_table(M_, options_, my_title, 'covar_ex_shocks', headers, labels, M_.Sigma_e, lh, 10, 6);
+        end
+        if ~all(diag(M_.H)==0)
+            my_title='MATRIX OF COVARIANCE OF MEASUREMENT ERRORS';
+            labels = cellfun(@(x) horzcat('SE_', x), options_.varobs, 'UniformOutput', false);
+            headers = vertcat('Variables', labels);
+            lh = cellofchararraymaxlength(labels)+2;
+            dyntable(options_, my_title, headers, labels, M_.H, lh, 10, 6);
+            if options_.TeX
+                labels = M_.exo_names_tex;
+                headers = vertcat('Variables', labels);
+                lh = cellofchararraymaxlength(labels)+2;
+                dyn_latex_table(M_, options_, my_title, 'covar_ME', headers, labels, M_.H, lh, 10, 6);
+            end
         end
     end
     if options_.partial_information
diff --git a/preprocessor b/preprocessor
index 16b063f666df679173e3da7f30ec1bff55755ddb..3c20b9862b87e894b00c70b10e7f5a425ba0372a 160000
--- a/preprocessor
+++ b/preprocessor
@@ -1 +1 @@
-Subproject commit 16b063f666df679173e3da7f30ec1bff55755ddb
+Subproject commit 3c20b9862b87e894b00c70b10e7f5a425ba0372a