diff --git a/test/ganeti.daemon_unittest.py b/test/ganeti.daemon_unittest.py
index 7bf9d813b7703fce4eb9e295fc8d2260b6246b96..ad5a12852904f2c68f7ae1f635afd833c4753a67 100755
--- a/test/ganeti.daemon_unittest.py
+++ b/test/ganeti.daemon_unittest.py
@@ -117,6 +117,20 @@ class TestMainloop(testutils.GanetiTestCase):
                        signal.SIGCHLD, signal.SIGCHLD, signal.SIGTERM])
     self.assertEquals(self.onsignal_events, self.sendsig_events)
 
+  def testPriority(self):
+    # for events at the same time, the highest priority one executes first
+    now = time.time()
+    self.mainloop.scheduler.enterabs(now + 0.1, 2, self._SendSig,
+                                     [signal.SIGCHLD])
+    self.mainloop.scheduler.enterabs(now + 0.1, 1, self._SendSig,
+                                     [signal.SIGTERM])
+    self.mainloop.Run()
+    self.assertEquals(self.sendsig_events, [signal.SIGTERM])
+    self.mainloop.scheduler.enter(0.2, 1, self._SendSig, [signal.SIGTERM])
+    self.mainloop.Run()
+    self.assertEquals(self.sendsig_events,
+                      [signal.SIGTERM, signal.SIGCHLD, signal.SIGTERM])
+
 
 class _MyAsyncUDPSocket(daemon.AsyncUDPSocket):