diff --git a/webservice/job_monitor.py b/webservice/job_monitor.py
index 1a4cc699baec4cebd5d4f0fd768116ef8bc5a6b6..ce5a6a0582ef36c5617d7c9306dce7af8c200191 100644
--- a/webservice/job_monitor.py
+++ b/webservice/job_monitor.py
@@ -287,10 +287,10 @@ class JobsMonitor:
 
     def mymdc_update_run(self, run_id, msg, status='R'):
         """Update correction status in MyMdC"""
-        data = {'flg_cal_data_status': status,
-                'cal_pipeline_reply': msg}
+        data = {'cal_pipeline_reply': msg}
         if status != 'R':
             data['cal_last_end_at'] = datetime.now(tz=timezone.utc).isoformat()
+            data['flg_cal_data_status'] = status
         response = self.mdc.update_run_api(run_id, data)
         if response.status_code != 200:
             log.error("Failed to update MDC run id %s", run_id)
diff --git a/webservice/webservice.py b/webservice/webservice.py
index efedd964dfe76c3266910043f8690aae639c4df8..600168b542fe5e9874131dec281328b5ee7a530b 100644
--- a/webservice/webservice.py
+++ b/webservice/webservice.py
@@ -752,7 +752,10 @@ async def update_mdc_status(mdc: MetadataClient, action: str,
 
     if action == 'correct':
         func = mdc.update_run_api
-        data = {'flg_cal_data_status': flag, 'cal_pipeline_reply': message}
+        data = {'cal_pipeline_reply': message}
+        # Don't send the 'R' status, as this may trigger another correction
+        if flag != 'R':
+            data['flg_cal_data_status'] = flag
 
     elif action == 'dark_request':
         func = mdc.update_dark_run_api