diff --git a/src/ParsingDriver.cc b/src/ParsingDriver.cc
index 8b54e89eba857260f8fef84259059a3f4a2f7fd1..714ce29cf2784ca1c58eca762aaf8e8a87963c24 100644
--- a/src/ParsingDriver.cc
+++ b/src/ParsingDriver.cc
@@ -2045,6 +2045,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)
@@ -2072,6 +2079,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 a4aee28b10ce59a820dd9a95ba0e366278e8bffc..e4f8655e8646eef2a74064c9970f3f6742a61525 100644
--- a/src/ParsingDriver.hh
+++ b/src/ParsingDriver.hh
@@ -269,6 +269,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}