diff --git a/src/SymbolTable.cc b/src/SymbolTable.cc
index 055fedd52a41200fdd327829cad728de496ea246..4240e00a3c20ce520a0b32680cf230bc46a9d50b 100644
--- a/src/SymbolTable.cc
+++ b/src/SymbolTable.cc
@@ -420,7 +420,8 @@ SymbolTable::addLeadAuxiliaryVarInternal(bool endo, int index, expr_t expr_arg)
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, (endo ? AuxVarType::endoLead : AuxVarType::exoLead), 0, 0, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, (endo ? AuxVarType::endoLead : AuxVarType::exoLead), 0, 0, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -440,7 +441,8 @@ SymbolTable::addLagAuxiliaryVarInternal(bool endo, int orig_symb_id, int orig_le
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, (endo ? AuxVarType::endoLag : AuxVarType::exoLag), orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, (endo ? AuxVarType::endoLag : AuxVarType::exoLag), orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -485,7 +487,8 @@ SymbolTable::addExpectationAuxiliaryVar(int information_set, int index, expr_t e
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::expectation, 0, 0, 0, information_set, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::expectation, 0, 0, 0, information_set, expr_arg, "");
+  aux_vars.emplace_back(aux_var_info);
 
   return symb_id;
 }
@@ -505,7 +508,8 @@ SymbolTable::addLogTransformAuxiliaryVar(int orig_symb_id, int orig_lead_lag, ex
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::logTransform, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::logTransform, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -525,7 +529,8 @@ SymbolTable::addDiffLagAuxiliaryVar(int index, expr_t expr_arg, int orig_symb_id
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::diffLag, orig_symb_id, orig_lag, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffLag, orig_symb_id, orig_lag, 0, 0, expr_arg, "");
+  aux_vars.psuh_back(aux_var_info);
 
   return symb_id;
 }
@@ -545,7 +550,8 @@ SymbolTable::addDiffLeadAuxiliaryVar(int index, expr_t expr_arg, int orig_symb_i
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::diffLead, orig_symb_id, orig_lead, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffLead, orig_symb_id, orig_lead, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -565,7 +571,8 @@ SymbolTable::addDiffAuxiliaryVar(int index, expr_t expr_arg, optional<int> orig_
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::diff, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::diff, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -585,7 +592,8 @@ SymbolTable::addUnaryOpAuxiliaryVar(int index, expr_t expr_arg, string unary_op,
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::unaryOp, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, unary_op);
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::unaryOp, move(orig_symb_id), move(orig_lag), 0, 0, expr_arg, unary_op);
+  aux_vars.push_back(aux_var_info);
 
   return symb_id;
 }
@@ -605,7 +613,8 @@ SymbolTable::addMultiplierAuxiliaryVar(int index) noexcept(false)
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::multiplier, 0, 0, index, 0, nullptr, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::multiplier, 0, 0, index, 0, nullptr, "");
+  aux_vars.push_back(aux_var_info);
   return symb_id;
 }
 
@@ -624,7 +633,8 @@ SymbolTable::addDiffForwardAuxiliaryVar(int orig_symb_id, int orig_lead_lag, exp
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::diffForward, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::diffForward, orig_symb_id, orig_lead_lag, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
   return symb_id;
 }
 
@@ -642,7 +652,8 @@ SymbolTable::addPacExpectationAuxiliaryVar(const string &name, expr_t expr_arg)
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::pacExpectation, 0, 0, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::pacExpectation, 0, 0, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
   return symb_id;
 }
 
@@ -660,7 +671,8 @@ SymbolTable::addPacTargetNonstationaryAuxiliaryVar(const string &name, expr_t ex
       exit(EXIT_FAILURE);
     }
 
-  aux_vars.emplace_back(symb_id, AuxVarType::pacTargetNonstationary, 0, 0, 0, 0, expr_arg, "");
+  aux_var_info = AuxVarInfo(symb_id, AuxVarType::pacTargetNonstationary, 0, 0, 0, 0, expr_arg, "");
+  aux_vars.push_back(aux_var_info);
   return symb_id;
 }