diff --git a/test/ganeti.mcpu_unittest.py b/test/ganeti.mcpu_unittest.py
index 20707623ca3a5532ae20e704372e457fef8090b2..89d588a4bfbb2d81060c36ee355c9a52e85c0ae7 100755
--- a/test/ganeti.mcpu_unittest.py
+++ b/test/ganeti.mcpu_unittest.py
@@ -34,6 +34,19 @@ from ganeti.constants import \
 import testutils
 
 
+REQ_BGL_WHITELIST = frozenset([
+  opcodes.OpClusterActivateMasterIp,
+  opcodes.OpClusterDeactivateMasterIp,
+  opcodes.OpClusterDestroy,
+  opcodes.OpClusterPostInit,
+  opcodes.OpClusterRename,
+  opcodes.OpInstanceRename,
+  opcodes.OpNodeAdd,
+  opcodes.OpNodeRemove,
+  opcodes.OpTestAllocator,
+  ])
+
+
 class TestLockAttemptTimeoutStrategy(unittest.TestCase):
   def testConstants(self):
     tpa = mcpu.LockAttemptTimeoutStrategy._TIMEOUT_PER_ATTEMPT
@@ -67,6 +80,16 @@ class TestDispatchTable(unittest.TestCase):
       self.assertTrue(opcls in mcpu.Processor.DISPATCH_TABLE,
                       msg="%s missing handler class" % opcls)
 
+      # Check against BGL whitelist
+      lucls = mcpu.Processor.DISPATCH_TABLE[opcls]
+      if lucls.REQ_BGL:
+        self.assertTrue(opcls in REQ_BGL_WHITELIST,
+                        msg=("%s not whitelisted for BGL" % opcls.OP_ID))
+      else:
+        self.assertFalse(opcls in REQ_BGL_WHITELIST,
+                         msg=("%s whitelisted for BGL, but doesn't use it" %
+                              opcls.OP_ID))
+
 
 if __name__ == "__main__":
   testutils.GanetiTestProgram()