diff --git a/src/plugins/git/gerrit/gerritoptionspage.cpp b/src/plugins/git/gerrit/gerritoptionspage.cpp
index 50466e695da718105ab9cb0b012c219d4c30afe0..cc4097d1b63e7f2358537098bd8f312726f3d0ea 100644
--- a/src/plugins/git/gerrit/gerritoptionspage.cpp
+++ b/src/plugins/git/gerrit/gerritoptionspage.cpp
@@ -72,8 +72,10 @@ void GerritOptionsPage::apply()
     if (GerritOptionsWidget *w = m_widget.data()) {
         const GerritParameters newParameters = w->parameters();
         if (newParameters != *m_parameters) {
+            bool sshChanged = m_parameters->ssh != newParameters.ssh;
             *m_parameters = newParameters;
-            m_parameters->setPortFlagBySshType();
+            if (sshChanged)
+                m_parameters->setPortFlagBySshType();
             m_parameters->toSettings(Core::ICore::instance()->settings());
         }
     }