diff --git a/configs/example/gem5_library/checkpoints/simpoints-se-restore.py b/configs/example/gem5_library/checkpoints/simpoints-se-restore.py
index 82b56b5..aacddd7 100644
--- a/configs/example/gem5_library/checkpoints/simpoints-se-restore.py
+++ b/configs/example/gem5_library/checkpoints/simpoints-se-restore.py
@@ -129,7 +129,9 @@
             print("end of warmup, starting to simulate SimPoint")
             warmed_up = True
             # Schedule a MAX_INSTS exit event during the simulation
-            simulator.schedule_max_insts(simpoint.get_simpoint_interval())
+            simulator.schedule_max_insts(
+                board.get_simpoint().get_simpoint_interval()
+            )
             dump()
             reset()
             yield False
@@ -146,5 +148,5 @@
 # is greater than 0.
 # In here, it schedules an exit event for the first SimPoint's warmup
 # instructions
-simulator.schedule_max_insts(simpoint.get_warmup_list()[0], True)
+simulator.schedule_max_insts(board.get_simpoint().get_warmup_list()[0], True)
 simulator.run()
diff --git a/src/python/gem5/components/boards/se_binary_workload.py b/src/python/gem5/components/boards/se_binary_workload.py
index 545dc40..7713b11 100644
--- a/src/python/gem5/components/boards/se_binary_workload.py
+++ b/src/python/gem5/components/boards/se_binary_workload.py
@@ -123,15 +123,16 @@
 
         # convert input to SimPoint if necessary
         if isinstance(simpoint, AbstractResource):
-            simpoint_object = SimPoint(simpoint)
+            self._simpoint_object = SimPoint(simpoint)
         else:
             assert isinstance(simpoint, SimPoint)
-            simpoint_object = simpoint
+            self._simpoint_object = simpoint
 
         if self.get_processor().get_num_cores() > 1:
             warn("SimPoints only works with one core")
         self.get_processor().get_cores()[0].set_simpoint(
-            inst_starts=simpoint_object.get_simpoint_start_insts(), init=True
+            inst_starts=self._simpoint_object.get_simpoint_start_insts(),
+            init=True,
         )
 
         # Call set_se_binary_workload after SimPoint setup is complete
@@ -139,3 +140,12 @@
             binary=binary,
             arguments=arguments,
         )
+
+    def get_simpoint(self) -> SimPoint:
+        """
+        Returns the SimPoint object set. If no SimPoint object has been set an
+        exception is thrown.
+        """
+        if getattr(self, "_simpoint_object", None):
+            return self._simpoint_object
+        raise Exception("This board does not have a simpoint set.")
