diff --git a/meta/classes-global/isar-events.bbclass b/meta/classes-global/isar-events.bbclass
index cfe6d7dd..9b66796e 100644
--- a/meta/classes-global/isar-events.bbclass
+++ b/meta/classes-global/isar-events.bbclass
@@ -52,13 +52,10 @@ python build_completed() {
     if not tmpdir:
         return
 
-    # bitbake calls cleanup for every multiconfig listed in BBMULTICONFIG plus
-    # one for the entire build. E.g., if BBMULTICONFIG="mc1 mc2 mc3", we call
-    # "bitbake mc1 mc2", the following cleanups would be called:
-    # "c1 c2 c3 cdefault".
-    # Skip running cleanup for additional multiconfigs
+    # Run cleanup only for the default multiconfig, which is empty on
+    # newer BitBake.
     mc = d.getVar('BB_CURRENT_MC')
-    if mc != 'default':
+    if mc not in ('', 'default'):
         return
 
     fail_on_cleanup = bb.utils.to_boolean(d.getVar('ISAR_FAIL_ON_CLEANUP'))
diff --git a/testsuite/unittests/test_build_uuid.py b/testsuite/unittests/test_build_uuid.py
index 374cce64..5d364ed0 100644
--- a/testsuite/unittests/test_build_uuid.py
+++ b/testsuite/unittests/test_build_uuid.py
@@ -18,6 +18,7 @@ sys.path.extend([
 ])
 
 import bb
+import bb.build
 import bb.data
 import bb.utils
 from bb.parse import handle
@@ -59,6 +60,23 @@ class TestBuildUUID(unittest.TestCase):
         clear_build_uuid(self.data)
         self.assertNotEqual(calculate_build_uuid(self.data), build_uuid)
 
+    def test_completion_resets_only_default_multiconfig(self):
+        data = handle(
+            str(root / 'meta/classes-global/isar-events.bbclass'), self.data
+        )
+        data.setVar('TMPDIR', self.persistent_dir)
+        data.setVar('T', os.path.join(self.persistent_dir, 'temp'))
+        for multiconfig, resets_uuid in [
+            ('', True), ('default', True), ('other', False)
+        ]:
+            with self.subTest(multiconfig=multiconfig):
+                build_uuid = calculate_build_uuid(data)
+                data.setVar('BB_CURRENT_MC', multiconfig)
+                bb.build.exec_func('build_completed', data)
+                self.assertEqual(
+                    calculate_build_uuid(data) != build_uuid, resets_uuid
+                )
+
     def test_concurrent_workers_share_uuid(self):
         context = multiprocessing.get_context('fork')
         start = context.Event()
