diff --git a/scripts/live_triggermap.py b/scripts/live_triggermap.py
index 74dc41842d987e8a02effe8e9474dff36b4a7eb2..5fa65e854337411fc5c98b3772cd20a37118f3f5 100755
--- a/scripts/live_triggermap.py
+++ b/scripts/live_triggermap.py
@@ -61,6 +61,9 @@ class TriggerMap(Module):
         self.max_events = self.get("max_events", default=1000)
         self.det = kp.hardware.Detector(det_id=det_id)
 
+        self.dus = sorted(self.det.dus)
+        self.n_rows = self.det.n_doms
+
         self.run = True
         self.hits = deque(maxlen=self.max_events)
         self.triggered_hits = deque(maxlen=self.max_events)
@@ -91,16 +94,18 @@ class TriggerMap(Module):
 
             self.n_events += 1
 
-            hits = np.zeros(self.det.n_doms)
+            hits = np.zeros(self.n_rows)
             for dom_id in event_hits.dom_id:
                 du, floor, _ = self.det.doms[dom_id]
-                hits[(du - 1) * self.det.n_doms + floor - 1] += 1
+                du_idx = self.dus.index(du)
+                hits[(du_idx - 1) * 18 + floor - 1] += 1
             self.hits.append(hits)
-            triggered_hits = np.zeros(self.det.n_doms)
+            triggered_hits = np.zeros(self.n_rows)
             for dom_id in event_hits.dom_id[event_hits.triggered.astype(
                     'bool')]:
                 du, floor, _ = self.det.doms[dom_id]
-                triggered_hits[(du - 1) * self.det.n_doms + floor - 1] += 1
+                du_idx = self.dus.index(du)
+                triggered_hits[(du_idx - 1) * 18 + floor - 1] += 1
             self.triggered_hits.append(triggered_hits)
 
         return blob
@@ -115,7 +120,7 @@ class TriggerMap(Module):
         if len(self.hits) > 0:
             self.create_plot(self.hits, "Hits on DOMs", 'hitmap')
         if len(self.triggered_hits) > 0:
-            self.create_plot(self.triggered_hits, "Trigger Map", 'triggermap')
+            self.create_plot(self.triggered_hits, "Trigger Map", 'triggermap_')
 
     def create_plot(self, hits, title, filename):
         fig, ax = plt.subplots(figsize=(16, 8))
@@ -131,10 +136,10 @@ class TriggerMap(Module):
             origin='lower',
             zorder=3,
             norm=LogNorm(vmin=1, vmax=np.amax(hit_matrix)))
-        yticks = np.arange(self.det.n_doms)
+        yticks = np.arange(self.n_rows)
         ytick_labels = [
-            "DU{}-DOM{}".format(dom[0], dom[1])
-            for dom in self.det.doms.values()
+            "DU{}-DOM{}".format(du, floor) if floor in [1, 6, 12] else ""
+            for (du, floor, _) in self.det.doms.values()
         ]
         ax.set_yticks(yticks)
         ax.set_yticklabels(ytick_labels)
@@ -157,7 +162,7 @@ class TriggerMap(Module):
                         self.max_events) - n_events_since_runchange
             plt.text(
                 x_pos,
-                self.det.n_doms,
+                self.n_rows,
                 "\nRUN %s  " % run,
                 rotation=60,
                 verticalalignment='top',