diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index ead7e7445c844d3231544edc5c7785a4ddbd9366..36525e8c0ed043a06b89bdaf4bbf4c52f4c2c6a7 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -4863,7 +4863,7 @@ void
 VarExpectationModelStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
 {
   string mstruct = "M_.var_expectation." + model_name;
-  output << mstruct << ".var_model_name = '" << var_model_name << "';" << endl
+  output << mstruct << ".auxiliary_model_name = '" << var_model_name << "';" << endl
          << mstruct << ".horizon = " << horizon << ';' << endl
          << mstruct << ".variable = '" << variable << "';" << endl
          << mstruct << ".variable_id = " << symbol_table.getTypeSpecificID(variable)+1 << ";" << endl;
diff --git a/src/DynareBison.yy b/src/DynareBison.yy
index ba29f09601f5e0590987c1f78f63d27a883cdbed..6093bc7a768816e351ab31b65df8497e21ae5cb3 100644
--- a/src/DynareBison.yy
+++ b/src/DynareBison.yy
@@ -410,8 +410,8 @@ var_expectation_model_options_list : var_expectation_model_option
 
 var_expectation_model_option : VARIABLE EQUAL symbol
                                { driver.option_str("variable", $3); }
-                             | VAR_MODEL_NAME EQUAL symbol
-                               { driver.option_str("var_model_name", $3); }
+                             | AUXILIARY_MODEL_NAME EQUAL symbol
+                               { driver.option_str("auxiliary_model_name", $3); }
                              | HORIZON EQUAL INT_NUMBER
                                { driver.option_num("horizon", $3); }
                              | HORIZON EQUAL integer_range_w_inf
diff --git a/src/ModFile.cc b/src/ModFile.cc
index 0b07da93295c2f5209d28ec3b6d512735dedd044..fc8d154209a6c3b7663f1110e7d7e68c31797f80 100644
--- a/src/ModFile.cc
+++ b/src/ModFile.cc
@@ -514,18 +514,28 @@ ModFile::transformPass(bool nostrict, bool stochastic, bool compute_xrefs, const
       if (!vems)
         continue;
 
+      int max_lag;
+      vector<int> lhs;
       auto &model_name = vems->model_name;
-      if (!var_model_table.isExistingVarModelName(vems->var_model_name))
+      if (var_model_table.isExistingVarModelName(vems->var_model_name))
+        {
+          max_lag = var_model_table.getMaxLag(vems->var_model_name);
+          lhs = var_model_table.getLhs(vems->var_model_name);
+        }
+      else if (trend_component_model_table.isExistingTrendComponentModelName(vems->var_model_name))
+        {
+          max_lag = trend_component_model_table.getMaxLag(vems->var_model_name);
+          lhs = trend_component_model_table.getLhs(vems->var_model_name);
+        }
+      else
         {
           cerr << "ERROR: var_expectation_model " << model_name
-               << " refers to nonexistent " << vems->var_model_name << " var_model" << endl;
+               << " refers to nonexistent auxiliary model " << vems->var_model_name << endl;
           exit(EXIT_FAILURE);
         }
 
-      /* Create auxiliary parameters and the expression to be substituted to
+      /* Create auxiliary parameters and the expression to be substituted into
          the var_expectations statement */
-      int max_lag = var_model_table.getMaxLag(vems->var_model_name);
-      vector<int> lhs = var_model_table.getLhs(vems->var_model_name);
       auto subst_expr = dynamic_model.Zero;
       for (int lag = 0; lag < max_lag; lag++)
         for (auto variable : lhs)
diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc
index 80bc0642b69b978f953191dbea0a5e5d3d8dca54..fe4e8184f36b3ca9b14ca9cd6e7ab1aa5853bab8 100644
--- a/src/ParsingDriver.cc
+++ b/src/ParsingDriver.cc
@@ -3268,9 +3268,9 @@ ParsingDriver::var_expectation_model()
   auto variable = it->second;
   check_symbol_is_endogenous(variable);
 
-  it = options_list.string_options.find("var_model_name");
+  it = options_list.string_options.find("auxiliary_model_name");
   if (it == options_list.string_options.end())
-    error("You must pass the var_model_name option to the var_expectation_model statement.");
+    error("You must pass the auxiliary_model_name option to the var_expectation_model statement.");
   auto var_model_name = it->second;
 
   it = options_list.string_options.find("model_name");