diff --git a/src/plugins/bazaar/bazaarplugin.cpp b/src/plugins/bazaar/bazaarplugin.cpp
index 182ac08a3f55b055bd24f4f07da1054c59c773c9..c9c2a5a7266c2ff8eebd0b81c7b471217b1b50c4 100644
--- a/src/plugins/bazaar/bazaarplugin.cpp
+++ b/src/plugins/bazaar/bazaarplugin.cpp
@@ -627,13 +627,21 @@ bool BazaarPlugin::submitEditorAboutToClose(VCSBase::VCSBaseSubmitEditor *submit
         break;
     }
 
-    const QStringList files = commitEditor->checkedFiles();
+    QStringList files = commitEditor->checkedFiles();
     if (!files.empty()) {
         //save the commit message
         m_core->fileManager()->blockFileChange(editorFile);
         editorFile->save();
         m_core->fileManager()->unblockFileChange(editorFile);
 
+        //rewrite entries of the form 'file => newfile' to 'newfile' because
+        //this would mess the commit command
+        for (QStringList::iterator iFile = files.begin(); iFile != files.end(); ++iFile) {
+            const QStringList parts = iFile->split(" => ", QString::SkipEmptyParts);
+            if (!parts.isEmpty())
+                *iFile = parts.last();
+        }
+
         const BazaarCommitWidget* commitWidget = commitEditor->commitWidget();
         BazaarClient::ExtraCommandOptions extraOptions;
         extraOptions[BazaarClient::AuthorCommitOptionId] = commitWidget->committer();