diff --git a/CHANGES.rst b/CHANGES.rst
index 71ca446657213435603879516c958e5175147649..bdf3f32047e72fc9d3360cef30349167d13a8050 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -53,8 +53,9 @@ Changelog
     listener.
 
 -   Use sky map from preferred event rather than superevent, triggering off 
-    EM_READY label instead of SKYMAP_READY. If SKYMAP_READY is applied, we 
-    will once again try to get the GW sky map from the superevent.
+    EM_READY label instead of SKYMAP_READY. If SKYMAP_READY is applied or if a
+    sky map file is added to the superevent, we will once again try to get the
+    GW sky map from the superevent.
 
 -   Update bilby and bilby_pipe to 2.1.0 and 1.0.10 respectively. The number of
     spline nodes for calibration errors is increased to 10 thanks to the bilby
diff --git a/gwcelery/tasks/external_triggers.py b/gwcelery/tasks/external_triggers.py
index 2a57ee34fe558de9fa266482fe353942657c4ea5..61861547f3979bd56fcbcaba6bf284ea5b83df6b 100644
--- a/gwcelery/tasks/external_triggers.py
+++ b/gwcelery/tasks/external_triggers.py
@@ -387,7 +387,8 @@ def handle_grb_igwn_alert(alert):
                 if REQUIRED_LABELS_BY_TASK['compare'].issubset(
                         set(external_event['labels'])):
                     _relaunch_raven_pipeline_with_skymaps(
-                        superevent, external_event, graceid)
+                        superevent, external_event, graceid,
+                        use_superevent=True)
         else:
             if REQUIRED_LABELS_BY_TASK['compare'].issubset(
                     set(external_event['labels'])):
@@ -488,8 +489,9 @@ def _launch_external_detchar(event):
     return event
 
 
-def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid):
-    """Relaunch the RAVEN sky map comparision workflow, include recalculating
+def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid,
+                                          use_superevent=False):
+    """Relaunch the RAVEN sky map comparison workflow, include recalculating
     the joint FAR with updated sky map info and create a new combined sky map.
 
     Parameters
@@ -500,6 +502,9 @@ def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid):
         external event dictionary
     graceid: str
         GraceDB ID of event
+    use_superevent: bool
+        If True, always use skymap info from superevent
+        regardless of SKYMAP_READY label.
 
     """
     gw_group = superevent['preferred_event_data']['group']
@@ -521,6 +526,7 @@ def _relaunch_raven_pipeline_with_skymaps(superevent, ext_event, graceid):
         canvas |= external_skymaps.create_combined_skymap.si(
                       superevent['superevent_id'], ext_event['graceid'],
                       preferred_event=(
-                          superevent['preferred_event'] if
-                          'SKYMAP_READY' not in ext_event['labels'] else None))
+                          None if 'SKYMAP_READY' in ext_event['labels']
+                          or use_superevent
+                          else superevent['preferred_event']))
     canvas.delay()
diff --git a/gwcelery/tests/test_tasks_external_triggers.py b/gwcelery/tests/test_tasks_external_triggers.py
index dcef01a981a70db96a4a88da4486b05fa67a6697..3562669f6fbea8d8e7ab382fde4abde29ee6d033 100644
--- a/gwcelery/tests/test_tasks_external_triggers.py
+++ b/gwcelery/tests/test_tasks_external_triggers.py
@@ -419,7 +419,7 @@ def test_handle_rerun_combined_skymap(mock_create_combined_skymap,
     external_triggers.handle_grb_igwn_alert(alert)
     if graceid == 'S1':
         mock_create_combined_skymap.assert_has_calls(
-            [call('S1', 'E1', preferred_event='G1'),
+            [call('S1', 'E1', preferred_event=None),
              call('S1', 'E3', preferred_event=None)]
         )
     elif graceid in {'E1', 'E3'}: