diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index aec4c57cba859a60717b5eb27f38fb64c2fc7540..6c1a33289604455dfdbfff0be07711bedb3c9202 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -12,7 +12,7 @@ class Notify < ActionMailer::Base
 
   default_url_options[:host]     = Gitlab.config.gitlab.host
   default_url_options[:protocol] = Gitlab.config.gitlab.protocol
-  default_url_options[:port]     = Gitlab.config.gitlab.port if Gitlab.config.gitlab_on_non_standard_port?
+  default_url_options[:port]     = Gitlab.config.gitlab.port unless Gitlab.config.gitlab_on_standard_port?
   default_url_options[:script_name] = Gitlab.config.gitlab.relative_url_root
 
   default from: Gitlab.config.gitlab.email_from
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index ea391ca601cd8fe2dcefabd7f2d214ab1fd7700d..cf6c79bb50e39735c046c96af5061c5db5cd5d90 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -3,8 +3,8 @@ class Settings < Settingslogic
   namespace Rails.env
 
   class << self
-    def gitlab_on_non_standard_port?
-      ![443, 80].include?(gitlab.port.to_i)
+    def gitlab_on_standard_port?
+      gitlab.port.to_i == (gitlab.https ? 443 : 80)
     end
 
     private
@@ -18,11 +18,7 @@ class Settings < Settingslogic
     end
 
     def build_gitlab_url
-      if gitlab_on_non_standard_port?
-        custom_port = ":#{gitlab.port}"
-      else
-        custom_port = nil
-      end
+      custom_port = gitlab_on_standard_port? ? nil : ":#{gitlab.port}"
       [ gitlab.protocol,
         "://",
         gitlab.host,
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 6837e4c91964837594874872a515fdc1932c8daf..6bae5951b7b2113ddcdd6ef5591ed50fe22a8ada 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -101,7 +101,7 @@ describe Project do
 
   it "returns the web URL without the protocol for this repo" do
     project = Project.new(path: "somewhere")
-    project.web_url_without_protocol.should == "#{Gitlab.config.gitlab.host}/somewhere"
+    project.web_url_without_protocol.should == "#{Gitlab.config.gitlab.url.split("://")[1]}/somewhere"
   end
 
   describe "last_activity methods" do