diff --git a/matlab/check.m b/matlab/check.m
index 2d1a5be1f9bab97821ed17630c51d80cc073c122..457eb9d1d88584e6e29ab9ef250b1277f7f2c349 100644
--- a/matlab/check.m
+++ b/matlab/check.m
@@ -39,7 +39,6 @@ global it_
   
   options_ = set_default_option(options_,'noprint',0);
   options_ = set_default_option(options_,'linear',0);  
-  options_ = set_default_option(options_,'dr_algo',0);  
   options_ = set_default_option(options_,'steadystate_flag',0);
   options_.order = 1;
   if exist([M_.fname '_steadystate.m'])
diff --git a/matlab/dynare_resolve.m b/matlab/dynare_resolve.m
index af6a5c7bd1b83517a71054988540a405f42f3b85..727a0e85e520fa5e25b0145667e35385c14561b9 100644
--- a/matlab/dynare_resolve.m
+++ b/matlab/dynare_resolve.m
@@ -18,7 +18,6 @@ function [A,B,ys,info] = dynare_resolve(iv,ic,aux)
 %    info=3:         Blanchard Kahn conditions are not satisfied: no stable '...' equilibrium
 %    info=4:         Blanchard Kahn conditions are not satisfied:'...' indeterminacy
 %    info=5:         Blanchard Kahn conditions are not satisfied:'...' indeterminacy due to rank failure
-%    info=11:        same as dr1 for dr_algo = 2
 %    info=20:        can't find steady state info(2) contains sum of sqare residuals
 %    info=30:        variance can't be computed
 %
diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m
index 3db39ff5eb76379cfb850f6b68c3de1d8730286d..d3489b0b016b86e0d94ddc81b4a106c21f87d0a8 100644
--- a/matlab/global_initialization.m
+++ b/matlab/global_initialization.m
@@ -108,7 +108,6 @@ function global_initialization()
 
   % Solution
   options_.order = 2;
-  options_.dr_algo = 0;
   options_.solve_algo = 2;
   options_.linear = 0;
   options_.replic = 50;
diff --git a/matlab/osr.m b/matlab/osr.m
index 5fa9727a1fd734a74aff12dd5d101c7f9a973247..94b7d4f2ce85f127cd8cfcf5f455e16ff68cf98f 100644
--- a/matlab/osr.m
+++ b/matlab/osr.m
@@ -23,7 +23,6 @@ function osr(var_list,params,i_var,W)
   options_ = set_default_option(options_,'linear',0);
   options_ = set_default_option(options_,'ar',5);
   options_ = set_default_option(options_,'irf',40);
-  options_ = set_default_option(options_,'dr_algo',0);
   options_ = set_default_option(options_,'simul_algo',0);
   options_ = set_default_option(options_,'drop',100);
   options_ = set_default_option(options_,'replic',1);
diff --git a/matlab/print_info.m b/matlab/print_info.m
index 2c2b2b9cd650f3b19ccb3b98e7ebd5e5e014d7e5..f3e51bce35e13172629dda335a668db47ebe5d71 100644
--- a/matlab/print_info.m
+++ b/matlab/print_info.m
@@ -41,10 +41,6 @@ function print_info(info)
   options_ = set_default_option(options_,'noprint',0);
   
   if ~options_.noprint
-    if info(1) > 10 & info(1) < 20
-      disp('Failure in dr_algo=2')
-      info(1) = info(1) - 10;
-    end
     switch info(1)
      case 1
       error(['The model doesn''t determine the current variables' ...
diff --git a/matlab/resol.m b/matlab/resol.m
index 135baf8fd7c32ae860d59bbb83814ffcc938d765..e22e7bfa05e9d57d9d64153fd78e0085855eda34 100644
--- a/matlab/resol.m
+++ b/matlab/resol.m
@@ -14,7 +14,6 @@ function [dr,info]=resol(ys,check_flag)
 %    info=3:         Blanchard Kahn conditions are not satisfied: no stable '...' equilibrium
 %    info=4:         Blanchard Kahn conditions are not satisfied:'...' indeterminacy
 %    info=5:         Blanchard Kahn conditions are not satisfied:'...' indeterminacy due to rank failure
-%    info=11:        same as dr1 for dr_algo = 2
 %    info=20:        can't find steady state info(2) contains sum of sqare residuals
 %    info=30:        Variance can't be computed
 %
@@ -40,12 +39,7 @@ function [dr,info]=resol(ys,check_flag)
 
 global M_ options_ oo_ bayestopt_
 global it_
-% plus: 
-% 11 .... same as dr1 for dr_algo = 2
-% 20: can't find steady state info(2) contains sum of sqare residuals
 
- 
-%unfinished
 jacobian_flag = 0; 
 
 options_ = set_default_option(options_,'jacobian_flag',1);
@@ -106,15 +100,6 @@ if info(1)
   return
 end
 
-if options_.dr_algo == 1 & options_.order > 1
-  dr.ys = dynare_solve('dr2',ys,0,dr);
-  dr.fbias = 2*feval([M_.fname '_static'],dr.ys,oo_.exo_steady_state, M_.params);
-  [dr,info1,M_,options_,oo_] = dr1(dr,check_flag,M_,options_,oo_);
-  if info1(1)
-    info(1) = info(1)+10;
-    return
-  end
-end
 if M_.exo_det_nbr > 0
   oo_.exo_det_simul = tempexdet;
 end
diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy
index 5b1fd7f80d6272b598b3f24b92830aac28f6949d..203ba38175442c460c292c70fe42425665e132cf 100644
--- a/preprocessor/DynareBison.yy
+++ b/preprocessor/DynareBison.yy
@@ -85,7 +85,7 @@ class ParsingDriver;
 %token BVAR_PRIOR_MU BVAR_PRIOR_OMEGA BVAR_PRIOR_TAU BVAR_PRIOR_TRAIN
 %token BVAR_REPLIC
 %token CALIB CALIB_VAR CHECK CONF_SIG CONSTANT CORR COVAR CUTOFF
-%token DATAFILE DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE
+%token DATAFILE DROP DSAMPLE DYNASAVE DYNATYPE
 %token END ENDVAL EQUAL ESTIMATION ESTIMATED_PARAMS ESTIMATED_PARAMS_BOUNDS ESTIMATED_PARAMS_INIT
 %token FILENAME FILTER_STEP_AHEAD FILTERED_VARS FIRST_OBS
 %token <string_val> FLOAT_NUMBER
@@ -658,8 +658,7 @@ stoch_simul_options_list : stoch_simul_options_list COMMA stoch_simul_options
                          | stoch_simul_options
                          ;
 
-stoch_simul_options : o_dr_algo
-                    | o_solve_algo
+stoch_simul_options : o_solve_algo
                     | o_simul_algo
                     | o_linear
                     | o_order
@@ -1317,7 +1316,6 @@ number : INT_NUMBER
        | FLOAT_NUMBER
        ;
 
-o_dr_algo : DR_ALGO EQUAL INT_NUMBER { driver.option_num("dr_algo", $3); };
 o_solve_algo : SOLVE_ALGO EQUAL INT_NUMBER { driver.option_num("solve_algo", $3); };
 o_simul_algo : SIMUL_ALGO EQUAL INT_NUMBER { driver.option_num("simul_algo", $3); };
 o_linear : LINEAR { driver.linear(); };
diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll
index 6a2ebd90feb7aeb6f5d8a61e5f639a1b82439d5f..ad714c0e01220c040a7cf98dd6be3b8281566e0f 100644
--- a/preprocessor/DynareFlex.ll
+++ b/preprocessor/DynareFlex.ll
@@ -254,7 +254,6 @@ int sigma_e = 0;
 
  /* Inside Dynare statement */
 <DYNARE_STATEMENT>solve_algo {return token::SOLVE_ALGO;}
-<DYNARE_STATEMENT>dr_algo {return token::DR_ALGO;}
 <DYNARE_STATEMENT>simul_algo {return token::SIMUL_ALGO;}
 <DYNARE_STATEMENT>drop {return token::DROP;}
 <DYNARE_STATEMENT>order {return token::ORDER;}