diff --git a/src/plugins/mercurial/mercurialcommitwidget.cpp b/src/plugins/mercurial/mercurialcommitwidget.cpp
index 729785b7abad011694cfdb6ac17d9b8cc552d724..272a811235e66342f49e5819e2d2d1d809c4385f 100644
--- a/src/plugins/mercurial/mercurialcommitwidget.cpp
+++ b/src/plugins/mercurial/mercurialcommitwidget.cpp
@@ -151,5 +151,14 @@ QString MercurialCommitWidget::repoRoot()
     return mercurialCommitPanelUi.repositoryLabel->text();
 }
 
+QString MercurialCommitWidget::cleanupDescription(const QString &input) const
+{
+    const QRegularExpression commentLine(QLatin1String("^HG:[^\\n]*(\\n|$)"),
+                                         QRegularExpression::MultilineOption);
+    QString message = input;
+    message.remove(commentLine);
+    return message;
+}
+
 } // namespace Internal
 } // namespace Mercurial
diff --git a/src/plugins/mercurial/mercurialcommitwidget.h b/src/plugins/mercurial/mercurialcommitwidget.h
index 41ece65600b7402a7f483a97a597bc7d561a90ef..d042f4f4ab04f08100cd523e181db522f2e69ca7 100644
--- a/src/plugins/mercurial/mercurialcommitwidget.h
+++ b/src/plugins/mercurial/mercurialcommitwidget.h
@@ -53,6 +53,9 @@ public:
     QString committer();
     QString repoRoot();
 
+protected:
+    QString cleanupDescription(const QString &input) const;
+
 private:
     QWidget *mercurialCommitPanel;
     Ui::MercurialCommitPanel mercurialCommitPanelUi;