diff --git a/Testing/Data/SystemTest/ISIS_Powder/input/PEARL00098494.nxs.md5 b/Testing/Data/SystemTest/ISIS_Powder/input/PEARL00098494.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..bb209053d4c2864afe53af5a6f21b89dd8721439
--- /dev/null
+++ b/Testing/Data/SystemTest/ISIS_Powder/input/PEARL00098494.nxs.md5
@@ -0,0 +1 @@
+c13f59f8155dc56e59d0412511b80b5d
\ No newline at end of file
diff --git a/Testing/SystemTests/tests/analysis/ISIS_PowderPearlTest.py b/Testing/SystemTests/tests/analysis/ISIS_PowderPearlTest.py
index 98ae85c2bdf83c26d0490506f38e49cf8c9c02b8..28581866f3d0035bf38ac94163e31f4f33b3a7e9 100644
--- a/Testing/SystemTests/tests/analysis/ISIS_PowderPearlTest.py
+++ b/Testing/SystemTests/tests/analysis/ISIS_PowderPearlTest.py
@@ -87,9 +87,34 @@ class FocusTest(stresstesting.MantidStressTest):
             mantid.mtd.clear()
 
 
+class CreateCalTest(stresstesting.MantidStressTest):
+
+    calibration_results = None
+    existing_config = config["datasearch.directories"]
+
+    def requiredFiles(self):
+        return _gen_required_files()
+
+    def runTest(self):
+        setup_mantid_paths()
+        self.calibration_results = run_create_cal()
+
+    def valid(self):
+        return ceria_validator(self.calibration_results)
+
+    def cleanup(self):
+        try:
+            _try_delete(spline_path)
+            _try_delete(output_dir)
+        finally:
+            config['datasearch.directories'] = self.existing_config
+            mantid.mtd.clear()
+
+
 def _gen_required_files():
     required_run_numbers = ["98472", "98485",  # create_van
-                            "98507", "98472_splined"]  # Focus (Si)
+                            "98507", "98472_splined",  # Focus (Si)
+                            "98494"]  # create_cal (Ce)
 
     # Generate file names of form "INSTxxxxx.nxs" - PEARL requires 000 padding
     input_files = [os.path.join(input_dir, (inst_name + "000" + number + ".nxs")) for number in required_run_numbers]
@@ -97,6 +122,12 @@ def _gen_required_files():
     return input_files
 
 
+def run_create_cal():
+    ceria_run = 98494
+    inst_obj = setup_inst_object(mode="tt88")
+    return inst_obj.create_cal(run_number=ceria_run)
+
+
 def run_vanadium_calibration():
     vanadium_run = 98507  # Choose arbitrary run in the cycle 17_1
 
@@ -141,10 +172,15 @@ def focus_validation(results):
     return _compare_ws(reference_file_name=reference_file_name, results=results)
 
 
+def ceria_validator(results):
+    reference_file_name = "ISIS_Powder-PEARL00098494_grouped.nxs"
+    return _compare_ws(reference_file_name=reference_file_name, results=results)
+
+
 def _compare_ws(reference_file_name, results):
     ref_ws = mantid.Load(Filename=reference_file_name)
 
-    is_valid = True if len(results) > 0 else False
+    is_valid = len(results) > 0
 
     for ws, ref in zip(results, ref_ws):
         if not (mantid.CompareWorkspaces(Workspace1=ws, Workspace2=ref)):
diff --git a/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-PEARL98494_grouped.nxs.md5 b/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-PEARL98494_grouped.nxs.md5
new file mode 100644
index 0000000000000000000000000000000000000000..85159fd3ae5819d82f207365d911baf49b3d05a1
--- /dev/null
+++ b/Testing/SystemTests/tests/analysis/reference/ISIS_Powder-PEARL98494_grouped.nxs.md5
@@ -0,0 +1 @@
+b957a6b0928e12a8c86284ea010df429
\ No newline at end of file
diff --git a/scripts/Diffraction/isis_powder/pearl_routines/pearl_calibration_algs.py b/scripts/Diffraction/isis_powder/pearl_routines/pearl_calibration_algs.py
index 095fbfd1657f17812cfa53f9addb5668f7542d30..9a7d71383625e8f9399bfd68e640854f5c00c3ba 100644
--- a/scripts/Diffraction/isis_powder/pearl_routines/pearl_calibration_algs.py
+++ b/scripts/Diffraction/isis_powder/pearl_routines/pearl_calibration_algs.py
@@ -33,10 +33,10 @@ def create_calibration(calibration_runs, instrument, offset_file_name, grouping_
     cross_correlated = mantid.CrossCorrelate(InputWorkspace=rebinned, **cross_correlate_params)
 
     offset_file = os.path.join(calibration_dir, offset_file_name)
-    offset_ws = "offsets"
-    # Name must be given as a string so it can be deleted later, as simpleapi doesn't recognise offsets as a workspace
-    mantid.GetDetectorOffsets(InputWorkspace=cross_correlated, GroupingFileName=offset_file, OutputWorkspace=offset_ws,
-                              **get_det_offset_params)
+    # Offsets workspace must be referenced as string so it can be deleted, as simpleapi doesn't recognise it as a ws
+    offsets_ws_name = "offsets"
+    offsets = mantid.GetDetectorOffsets(InputWorkspace=cross_correlated, GroupingFileName=offset_file,
+                                        OutputWorkspace=offsets_ws_name, **get_det_offset_params)
 
     rebinned_tof = mantid.ConvertUnits(InputWorkspace=rebinned, Target="TOF")
     aligned = mantid.AlignDetectors(InputWorkspace=rebinned_tof, CalibrationFile=offset_file)
@@ -46,5 +46,6 @@ def create_calibration(calibration_runs, instrument, offset_file_name, grouping_
                                           OutputWorkspace=instrument._generate_output_file_name(calibration_runs)
                                           + "_grouped")
 
-    common.remove_intermediate_workspace([calibration_ws, rebinned, cross_correlated,
-                                          offset_ws, rebinned_tof, aligned])
+    common.remove_intermediate_workspace([calibration_ws, rebinned, cross_correlated, rebinned_tof, aligned,
+                                          offsets_ws_name])
+    return focused