diff --git a/webservice/webservice.py b/webservice/webservice.py
index 0c6775478615d0fc02399f14d3f2272df8e39d57..0d1696e53e29fb83971c47cf4784062198834d93 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -12,7 +12,7 @@ import urllib.parse
 from asyncio import get_event_loop, shield
 from datetime import datetime
 from pathlib import Path
-from typing import Any, Dict, List
+from typing import Any, Dict, List, Optional
 
 import yaml
 import zmq
@@ -1070,8 +1070,11 @@ class ActionsServer:
                 request_time
             )
             await update_mdc_status(self.mdc, 'dark_request', rid, ret)
-            await update_darks_paths(self.mdc, rid, in_folder,
-                                     out_folder, report_path)
+            if report_path is None:
+                logging.warning("Failed to identify report path for dark_request")
+            else:
+                await update_darks_paths(self.mdc, rid, in_folder,
+                                         out_folder, report_path)
         # END of part to run after sending reply
 
         asyncio.ensure_future(_continue())
@@ -1142,7 +1145,7 @@ class ActionsServer:
     async def launch_jobs(
             self, run_nrs, rid, detectors, action, instrument, cycle, proposal,
             request_time
-    ) -> (str, str):
+    ) -> (str, Optional[str]):
         # run xfel_calibrate
         for karabo_id, dconfig in detectors.items():
             detector = dconfig['detector-type']
@@ -1163,8 +1166,11 @@ class ActionsServer:
             ret = await run_action(self.job_db, cmd, self.mode,
                                    proposal, run_nrs[-1], rid)
 
-            report_idx = cmd.index('--report-to') + 1
-            report = cmd[report_idx] + '.pdf'
+            if '--report-to' in cmd[:-1]:
+                report_idx = cmd.index('--report-to') + 1
+                report = cmd[report_idx] + '.pdf'
+            else:
+                report = None
             return ret, report
 
 parser = argparse.ArgumentParser(