diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 7b6d571337db97080c2a9d36939b49fdbc0beb06..954032b1753921e57015dc9e912c75529745d6d2 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -14068,6 +14068,11 @@ class LUBackupExport(LogicalUnit):
       #  - removing the removal operation altogether
       self.needed_locks[locking.LEVEL_NODE] = locking.ALL_SET
 
+      # Allocations should be stopped while this LU runs with node locks, but
+      # it doesn't have to be exclusive
+      self.share_locks[locking.LEVEL_NODE_ALLOC] = 1
+      self.needed_locks[locking.LEVEL_NODE_ALLOC] = locking.ALL_SET
+
   def DeclareLocks(self, level):
     """Last minute lock declaration."""
     # All nodes are locked anyway, so nothing to do here.