diff --git a/DynareBison.yy b/DynareBison.yy
index 58a489aad7be530909fea73b2671b4308f4dddb9..855020c1137c83b89258e9cb6384c0306dbd5d90 100644
--- a/DynareBison.yy
+++ b/DynareBison.yy
@@ -159,7 +159,7 @@ class ParsingDriver;
 %token MARKOV_SWITCHING CHAIN STATE DURATION NUMBER_OF_STATES
 %token SVAR COEFFICIENTS VARIANCES CONSTANTS EQUATIONS
 %token EXTERNAL_FUNCTION EXT_FUNC_NAME EXT_FUNC_NARGS FIRST_DERIV_PROVIDED SECOND_DERIV_PROVIDED
-%token SELECTED_VARIABLES_ONLY
+%token SELECTED_VARIABLES_ONLY COVA_COMPUTE
 
 %type <node_val> expression expression_or_empty
 %type <node_val> equation hand_side
@@ -1172,6 +1172,7 @@ estimation_options : o_datafile
                    | o_filter_decomposition
                    | o_selected_variables_only
                    | o_conditional_variance_decomposition
+                   | o_cova_compute
                    ;
 
 list_optim_option : QUOTED_STRING COMMA QUOTED_STRING
@@ -1930,6 +1931,9 @@ o_filter_decomposition : FILTER_DECOMPOSITION
 o_selected_variables_only : SELECTED_VARIABLES_ONLY
                            { driver.option_num("selected_variables_only","1");}
                           ;
+o_cova_compute : COVA_COMPUTE EQUAL INT_NUMBER
+                 { driver.option_num("cova_compute",$3);}
+               ;
 
 range : symbol ':' symbol
         {
diff --git a/DynareFlex.ll b/DynareFlex.ll
index 84089100d985667d2928e1e1dc1d3298d0feb388..9915b5ce5506c575c608e0d24a8f65f104bee4e9 100644
--- a/DynareFlex.ll
+++ b/DynareFlex.ll
@@ -362,6 +362,7 @@ string eofbuff;
 <DYNARE_STATEMENT>pruning {return token::PRUNING; }
 <DYNARE_STATEMENT>deflator {return token::DEFLATOR;}
 <DYNARE_STATEMENT>growth_factor {return token::GROWTH_FACTOR;}
+<DYNARE_STATEMENT>cova_compute {return token::COVA_COMPUTE;}
 
 <DYNARE_STATEMENT>[\$][^$]*[\$] {
   strtok(yytext+1, "$");