diff --git a/matlab/imcforecast.m b/matlab/imcforecast.m
index ca8ad98858b417668afbff011f12164cd4330be9..b9ffeac4e33f80d60cac14a512620d9ed9df5d5c 100644
--- a/matlab/imcforecast.m
+++ b/matlab/imcforecast.m
@@ -46,7 +46,13 @@ function imcforecast(constrained_paths, constrained_vars, options_cond_fcst)
 global options_ oo_ M_ bayestopt_
 
 if ~isfield(options_cond_fcst,'parameter_set') || isempty(options_cond_fcst.parameter_set)
-    options_cond_fcst.parameter_set = 'posterior_mode';
+    if isfield(oo_,'posterior_mode')
+        options_cond_fcst.parameter_set = 'posterior_mode';
+    elseif isfield(oo_,'mle_mode')
+        options_cond_fcst.parameter_set = 'mle_mode';
+    else
+        error('No valid parameter set found')
+    end
 end
 
 if ~isfield(options_cond_fcst,'replic') || isempty(options_cond_fcst.replic)
@@ -82,6 +88,9 @@ if estimated_model
           case 'posterior_median'
             xparam = get_posterior_parameters('median');
             graph_title='Posterior Median';
+          case 'mle_mode'
+            xparam = get_posterior_parameters('mode','mle_');
+            graph_title='ML Mode';
           case 'prior_mode'
             xparam = bayestopt_.p5(:);
             graph_title='Prior Mode';
diff --git a/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod b/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
index 775abce9d7e95975d1cb9922d21114e34a21dd77..b02355b0397a1d879608a53b4704417b9222aea8 100644
--- a/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
+++ b/tests/kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod
@@ -164,3 +164,13 @@ end
 
 shock_decomposition;
 
+conditional_forecast_paths;
+var gy_obs;
+periods  1  2  3:5;
+values   0.01 -0.02 0;
+var gp_obs;
+periods 1:5;
+values  0.05;
+end;
+
+conditional_forecast(parameter_set=mle_mode, controlled_varexo=(e_a,e_m));