diff --git a/ComputingTasks.cc b/ComputingTasks.cc
index 8030fe59d0271369fb3ff4f1c300482996983f10..483b3d89d056d53b1199d3bc36fe7b6c136f087b 100644
--- a/ComputingTasks.cc
+++ b/ComputingTasks.cc
@@ -362,12 +362,20 @@ EstimatedParamsStatement::checkPass(ModFileStructure &mod_file_struct)
       if (it->name == "dsge_prior_weight")
         mod_file_struct.dsge_prior_weight_in_estimated_params = true;
 
+      // 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 << "ERROR: 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
           }
     }
 }