diff --git a/preprocessor/ComputingTasks.cc b/preprocessor/ComputingTasks.cc
index 15e64755a7369ff958101b2c443d07a522534172..39041e43c8c784aee9399cd1fe7067a0cb777435 100644
--- a/preprocessor/ComputingTasks.cc
+++ b/preprocessor/ComputingTasks.cc
@@ -320,12 +320,20 @@ EstimatedParamsStatement::EstimatedParamsStatement(const vector<EstimationParams
 {
   for (vector<EstimationParams>::const_iterator it = estim_params_list.begin();
        it != estim_params_list.end(); it++)
+    // Handle case of degenerate beta prior
     if (it->prior == "1") //BETA_PDF is associated with "1" in DynareBison.yy
-      if (dynamic_cast<NumConstNode *>(it->mean)->isNumConstNodeEqualTo(0.5) &&
-          dynamic_cast<NumConstNode *>(it->std)->isNumConstNodeEqualTo(0.5))
+      try
         {
-          cerr << "The prior density is not defined for the beta distribution when the mean = standard deviation = 0.5." << endl;
-          exit(EXIT_FAILURE);
+          if (it->mean->eval(eval_context_type()) == 0.5 &&
+              it->std->eval(eval_context_type()) == 0.5)
+            {
+              cerr << "ERROR: The prior density is not defined for the beta distribution when the mean = standard deviation = 0.5." << endl;
+              exit(EXIT_FAILURE);
+            }
+        }
+      catch (ExprNode::EvalException &e)
+        {
+          // We don't have enough information to compute the numerical value, skip the test
         }
 }