diff --git a/src/StaticModel.cc b/src/StaticModel.cc
index e42c4df1b34b256aa132ab707d1b8876f164ae7a..d3af5132f15feee9fcb01fd585a9bb71f56698a4 100644
--- a/src/StaticModel.cc
+++ b/src/StaticModel.cc
@@ -703,9 +703,9 @@ StaticModel::writeLatexAuxVarRecursiveDefinitions(ostream &output) const
   temporary_terms_t temporary_terms;
   temporary_terms_idxs_t temporary_terms_idxs;
   for (auto aux_equation : aux_equations)
-    if (dynamic_cast<ExprNode *>(aux_equation)->containsExternalFunction())
-      dynamic_cast<ExprNode *>(aux_equation)->writeExternalFunctionOutput(output, ExprNodeOutputType::latexStaticModel,
-                                                                          temporary_terms, temporary_terms_idxs, tef_terms);
+    if (aux_equation->containsExternalFunction())
+      aux_equation->writeExternalFunctionOutput(output, ExprNodeOutputType::latexStaticModel,
+                                                temporary_terms, temporary_terms_idxs, tef_terms);
   for (auto aux_equation : aux_equations)
     {
       output << R"(\begin{dmath})" << endl;
@@ -721,13 +721,10 @@ StaticModel::writeJsonAuxVarRecursiveDefinitions(ostream &output) const
   temporary_terms_t temporary_terms;
 
   for (auto aux_equation : aux_equations)
-    if (dynamic_cast<ExprNode *>(aux_equation)->containsExternalFunction())
+    if (aux_equation->containsExternalFunction())
       {
         vector<string> efout;
-        dynamic_cast<ExprNode *>(aux_equation)->writeJsonExternalFunctionOutput(efout,
-                                                                                temporary_terms,
-                                                                                tef_terms,
-                                                                                false);
+        aux_equation->writeJsonExternalFunctionOutput(efout, temporary_terms, tef_terms, false);
         for (bool printed_something{false};
              const auto &it : efout)
           {