diff --git a/src/ComputingTasks.cc b/src/ComputingTasks.cc
index a8ba1c4ced199f6ce3ffbff02f653d79eac7bf7e..30c04ba8cb3c090039b28bd5b8fcbc06aeb3cf4d 100644
--- a/src/ComputingTasks.cc
+++ b/src/ComputingTasks.cc
@@ -2864,6 +2864,16 @@ ConditionalForecastStatement::ConditionalForecastStatement(OptionsList options_l
 {
 }
 
+void
+ConditionalForecastStatement::checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings)
+{
+  if (options_list.string_options.find("parameter_set") == options_list.string_options.end())
+    {
+      cerr << "ERROR: You must pass the `parameter_set` option to conditional_forecast" << endl;
+      exit(EXIT_FAILURE);
+    }
+}
+
 void
 ConditionalForecastStatement::writeOutput(ostream &output, const string &basename, bool minimal_workspace) const
 {
diff --git a/src/ComputingTasks.hh b/src/ComputingTasks.hh
index 1098fdf8b0a6771eb317f3c864d0f1691638323e..ea2d57a5849eba94ce0d45ec4a64be17e862896c 100644
--- a/src/ComputingTasks.hh
+++ b/src/ComputingTasks.hh
@@ -757,6 +757,7 @@ private:
   const OptionsList options_list;
 public:
   explicit ConditionalForecastStatement(OptionsList options_list_arg);
+  void checkPass(ModFileStructure &mod_file_struct, WarningConsolidation &warnings) override;
   void writeOutput(ostream &output, const string &basename, bool minimal_workspace) const override;
   void writeJsonOutput(ostream &output) const override;
 };