diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc
index 9b9741df27a569110fa8b83b4eb2b538dabaeda8..89d32bc829979e42f732f3952aebc4b90c0893d5 100644
--- a/src/ParsingDriver.cc
+++ b/src/ParsingDriver.cc
@@ -2054,6 +2054,13 @@ ParsingDriver::end_planner_objective(expr_t expr)
 void
 ParsingDriver::ramsey_model()
 {
+  // Some checks to ensure correct error messages (see #90)
+  if (ramsey_policy_seen)
+    error("A 'ramsey_model' statement cannot follow a 'ramsey_policy' statement.");
+  if (ramsey_model_seen)
+    error("Several 'ramsey_model' statements cannot appear in a given .mod file.");
+  ramsey_model_seen = true;
+
   if (!mod_file->symbol_table.exists("optimal_policy_discount_factor"))
     {
       if (!planner_discount)
@@ -2081,6 +2088,13 @@ ParsingDriver::ramsey_policy()
 {
   warning("The 'ramsey_policy' statement is deprecated. Please use 'ramsey_model', 'stoch_simul', and 'evaluate_planner_objective' instead.");
 
+  // Some checks to ensure correct error messages (see #90)
+  if (ramsey_model_seen)
+    error("A 'ramsey_policy' statement cannot follow a 'ramsey_model' statement.");
+  if (ramsey_policy_seen)
+    error("Several 'ramsey_policy' statements cannot appear in a given .mod file.");
+  ramsey_policy_seen = true;
+
   if (!mod_file->symbol_table.exists("optimal_policy_discount_factor"))
     {
       if (!planner_discount)
diff --git a/src/ParsingDriver.hh b/src/ParsingDriver.hh
index 78063f7046031c5290bb1edee2fba27e689b30a4..2d7f321ec914bbea64fd83d6f64c58807e49c56e 100644
--- a/src/ParsingDriver.hh
+++ b/src/ParsingDriver.hh
@@ -274,6 +274,11 @@ private:
   //! True when parsing pac_model statement
   bool parsing_pac_model{false};
 
+  //! True if a ramsey_model statement has already been seen
+  bool ramsey_model_seen{false};
+  //! True if a ramsey_policy statement has already been seen
+  bool ramsey_policy_seen{false};
+
 public:
   ParsingDriver(WarningConsolidation &warnings_arg, bool nostrict_arg) :
     warnings{warnings_arg}, nostrict{nostrict_arg}