diff --git a/src/plugins/git/gerrit/gerritpushdialog.cpp b/src/plugins/git/gerrit/gerritpushdialog.cpp
index 4f8585b6796035ed7d3b41b7b86f14271909c98e..d293373e0bbf0e430c781046378664633de943ea 100644
--- a/src/plugins/git/gerrit/gerritpushdialog.cpp
+++ b/src/plugins/git/gerrit/gerritpushdialog.cpp
@@ -26,7 +26,6 @@
 #include "gerritpushdialog.h"
 #include "ui_gerritpushdialog.h"
 #include "branchcombobox.h"
-#include "gerritserver.h"
 
 #include "../gitplugin.h"
 #include "../gitclient.h"
@@ -129,6 +128,7 @@ GerritPushDialog::GerritPushDialog(const QString &workingDir, const QString &rev
     m_ui->repositoryLabel->setText(QDir::toNativeSeparators(workingDir));
     m_ui->remoteComboBox->setRepository(workingDir);
     m_ui->remoteComboBox->setParameters(parameters);
+    m_ui->remoteComboBox->setAllowDups(true);
 
     PushItemDelegate *delegate = new PushItemDelegate(m_ui->commitView);
     delegate->setParent(this);
diff --git a/src/plugins/git/gerrit/gerritremotechooser.cpp b/src/plugins/git/gerrit/gerritremotechooser.cpp
index 06b916c16fb5143bd179ec280f1183c7daebbdb1..b5cf6e9f02569c0e2d47cefc02a77c88c13d1da5 100644
--- a/src/plugins/git/gerrit/gerritremotechooser.cpp
+++ b/src/plugins/git/gerrit/gerritremotechooser.cpp
@@ -80,6 +80,11 @@ void GerritRemoteChooser::setFallbackEnabled(bool value)
     m_enableFallback = value;
 }
 
+void GerritRemoteChooser::setAllowDups(bool value)
+{
+    m_allowDups = value;
+}
+
 bool GerritRemoteChooser::setCurrentRemote(const QString &remoteName)
 {
     for (int i = 0, total = m_remoteComboBox->count(); i < total; ++i) {
@@ -118,9 +123,11 @@ bool GerritRemoteChooser::updateRemotes(bool forceReload)
 
 void GerritRemoteChooser::addRemote(const GerritServer &server, const QString &name)
 {
-    for (auto remote : m_remotes) {
-        if (remote.second == server)
-            return;
+    if (!m_allowDups) {
+        for (auto remote : m_remotes) {
+            if (remote.second == server)
+                return;
+        }
     }
     m_remoteComboBox->addItem(server.host + QString(" (%1)").arg(name));
     m_remotes.push_back({ name, server });
diff --git a/src/plugins/git/gerrit/gerritremotechooser.h b/src/plugins/git/gerrit/gerritremotechooser.h
index c06013bb229d38e4c22750242f12ec785bdeef6c..c2dacf84cfa1fd1d47942f8a7471f32cab9cadc8 100644
--- a/src/plugins/git/gerrit/gerritremotechooser.h
+++ b/src/plugins/git/gerrit/gerritremotechooser.h
@@ -48,6 +48,7 @@ public:
     void setRepository(const QString  &repository);
     void setParameters(QSharedPointer<GerritParameters> parameters);
     void setFallbackEnabled(bool value);
+    void setAllowDups(bool value);
     bool setCurrentRemote(const QString &remoteName);
 
     bool updateRemotes(bool forceReload);
@@ -68,6 +69,7 @@ private:
     QToolButton *m_resetRemoteButton = nullptr;
     bool m_updatingRemotes = false;
     bool m_enableFallback = false;
+    bool m_allowDups = false;
     using NameAndServer = std::pair<QString, GerritServer>;
     std::vector<NameAndServer> m_remotes;
 };