Index: contrib/bazaar/mbprotect/__init__.py
===================================================================
--- contrib/bazaar/mbprotect/__init__.py	(revision de9460ef8f1f8310420d8ef918f7b9b76d0ae4f7)
+++ contrib/bazaar/mbprotect/__init__.py	(revision 016076048f38fb7342c76e8d96f8499b14e30d23)
@@ -52,10 +52,17 @@
 	return
 
-    # Look for old tip in new main branch.
+    # First permitted case is appending changesets to main branch.Look for
+    # old tip in new main branch.
     for revision_id in repo.iter_reverse_revision_history(params.new_revid):
 	if revision_id == params.old_revid:
 	    return	# Found old tip
 
-    # Old tip was not found. Reject the change.
+    # Another permitted case is backing out changesets. Look for new tip
+    # in old branch.
+    for revision_id in repo.iter_reverse_revision_history(params.old_revid):
+	if revision_id == params.new_revid:
+	    return	# Found new tip
+
+    # Trying to do something else. Reject the change.
     raise TipChangeRejected('Bad tip. Read http://trac.helenos.org/trac.fcgi/' +
 	'wiki/BazaarWorkflow')
