diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py
index 6773bc7c07c0786b4946d32ed058f7677b70c91f..a39e679cf30c23697685fc46a117de248ba7612a 100644
--- a/b_asic/GUI/main_window.py
+++ b/b_asic/GUI/main_window.py
@@ -465,7 +465,7 @@ class MainWindow(QMainWindow):
     def simulate_sfg(self):
         self.dialog = SimulateSFGWindow(self)
 
-        for sfg in self.sfg_dict.values():
+        for _, sfg in self.sfg_dict.items():
             self.dialog.add_sfg_to_dialog(sfg)
 
         self.dialog.show()
diff --git a/b_asic/GUI/show_pc_window.py b/b_asic/GUI/show_pc_window.py
index ec8d1a561b8e01ce08b8eaf8d9d98ac082f24767..5952ca991c70a4a466183900adab6f0fb39610a1 100644
--- a/b_asic/GUI/show_pc_window.py
+++ b/b_asic/GUI/show_pc_window.py
@@ -10,7 +10,7 @@ class ShowPCWindow(QDialog):
     def __init__(self, window):
         super(ShowPCWindow, self).__init__()
         self._window = window
-        self.check_box_list = []
+        self.check_box_dict = dict()
         self.setWindowFlags(Qt.WindowTitleHint | Qt.WindowCloseButtonHint)
         self.setWindowTitle("Show PC")
 
@@ -21,29 +21,28 @@ class ShowPCWindow(QDialog):
         self.setLayout(self.dialog_layout)
 
     def add_sfg_to_dialog(self):
-        sfg_layout = QVBoxLayout()
-        options_layout = QFormLayout()
+        self.sfg_layout = QVBoxLayout()
+        self.options_layout = QFormLayout()
 
         for sfg in self._window.sfg_dict:
             check_box = QCheckBox()
-            options_layout.addRow(sfg, check_box)
-            self.check_box_list.append(check_box)
+            self.options_layout.addRow(sfg, check_box)
+            self.check_box_dict[check_box] = sfg
 
-        sfg_layout.addLayout(options_layout)
+        self.sfg_layout.addLayout(self.options_layout)
 
         frame = QFrame()
         frame.setFrameShape(QFrame.HLine)
         frame.setFrameShadow(QFrame.Sunken)
         self.dialog_layout.addWidget(frame)
 
-        self.dialog_layout.addLayout(sfg_layout)
+        self.dialog_layout.addLayout(self.sfg_layout)
 
     def show_precedence_graph(self):
-        for i, check_box in enumerate(self.check_box_list):
+        for check_box, sfg in self.check_box_dict.items():
             if check_box.isChecked():
-                self._window.logger.info("Creating a precedence chart from " + self._window.values[i].name)
-                self._window.values[i].show_precedence_graph()
-                break
+                self._window.logger.info(f"Creating a precedence chart from sfg with name: {sfg}.")
+                self._window.sfg_dict[sfg].show_precedence_graph()
 
         self.accept()
         self.pc.emit()
\ No newline at end of file