diff --git a/CHANGELOG b/CHANGELOG
index d3119846760b1ae6709fe79633c68a072458684d..acbee9c067b96ae434688352f4eebfe04101fa0e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+v6.4.2
+  - Fixed wrong behaviour of script/upgrade.rb
+
+v6.4.1 
+  - Fixed bug with repository rename
+  - Fixed bug with project transfer
+
 v 6.4.0
   - Added sorting to project issues page (Jason Blanchard)
   - Assembla integration (Carlos Paramio)
diff --git a/Gemfile b/Gemfile
index 2019cae8f96ffc1ad330e4a3f738e0434427b91b..d34603e8ce162fd893eb9f2b675b168461be75bf 100644
--- a/Gemfile
+++ b/Gemfile
@@ -154,7 +154,7 @@ gem "raphael-rails", "~> 2.1.2"
 gem 'bootstrap-sass', '~> 2.3'
 gem "font-awesome-rails", '~> 3.2'
 gem "gemoji", "~> 1.3.0"
-gem "gon", git: "https://github.com/gitlabhq/gon.git", ref: '58ca8e17273051cb370182cabd3602d1da6783ab'
+gem "gon", "~> 5.0.0"
 
 group :development do
   gem "annotate", "~> 2.6.0.beta2"
diff --git a/Gemfile.lock b/Gemfile.lock
index 8aad7c8c424e71ebf890e867bc13e488d094515b..79156028882891d13484855e7af3bf424b5589c7 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,12 +1,3 @@
-GIT
-  remote: https://github.com/gitlabhq/gon.git
-  revision: 58ca8e17273051cb370182cabd3602d1da6783ab
-  ref: 58ca8e17273051cb370182cabd3602d1da6783ab
-  specs:
-    gon (4.1.1)
-      actionpack (>= 2.3.0)
-      json
-
 GEM
   remote: https://rubygems.org/
   specs:
@@ -206,6 +197,9 @@ GEM
       omniauth (~> 1.0)
       pyu-ruby-sasl (~> 0.0.3.1)
       rubyntlm (~> 0.1.1)
+    gon (5.0.0)
+      actionpack (>= 2.3.0)
+      json
     grape (0.6.1)
       activesupport
       builder
@@ -597,7 +591,7 @@ DEPENDENCIES
   gitlab_git (~> 4.0.0.pre)
   gitlab_meta (= 6.0)
   gitlab_omniauth-ldap (= 1.0.3)
-  gon!
+  gon (~> 5.0.0)
   grape (~> 0.6.1)
   grape-entity (~> 0.3.0)
   growl
diff --git a/VERSION b/VERSION
index 19b860c1872d575d210520fd4256b1be2ff00308..133cad286fdf619d1cbbb26931c01f4e180b36a4 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-6.4.0
+6.4.3
diff --git a/app/contexts/projects/update_context.rb b/app/contexts/projects/update_context.rb
index ed0d451a31ad6a9e56850e47a1688ca893b4bc82..94de10de0f6c315d78558e644d192a5ee164ec00 100644
--- a/app/contexts/projects/update_context.rb
+++ b/app/contexts/projects/update_context.rb
@@ -9,7 +9,7 @@ module Projects
 
       new_branch = params[:project].delete(:default_branch)
 
-      if project.repository.exists? && new_branch != project.default_branch
+      if project.repository.exists? && new_branch && new_branch != project.default_branch
         project.change_head(new_branch)
       end
 
diff --git a/app/models/web_hook.rb b/app/models/web_hook.rb
index c0aa373491725cd3fdf3021df2806d7ed55cac86..8a5c4b6cd47b096db0f591300f1246f4cc3c14dc 100644
--- a/app/models/web_hook.rb
+++ b/app/models/web_hook.rb
@@ -28,7 +28,7 @@ class WebHook < ActiveRecord::Base
   def execute(data)
     parsed_url = URI.parse(url)
     if parsed_url.userinfo.blank?
-      WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" })
+      WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" }, verify: false)
     else
       post_url = url.gsub("#{parsed_url.userinfo}@", "")
       auth = {
@@ -38,6 +38,7 @@ class WebHook < ActiveRecord::Base
       WebHook.post(post_url,
                    body: data.to_json,
                    headers: {"Content-Type" => "application/json"},
+                   verify: false,
                    basic_auth: auth)
     end
   end
diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml
index c56919e792c057d3d1aa004a60df04cc9882e000..44f722d9e15fd0e6e624a5f696911ac790623351 100644
--- a/app/views/projects/edit.html.haml
+++ b/app/views/projects/edit.html.haml
@@ -130,7 +130,7 @@
           .title Transfer project
           .errors-holder
           .form-holder
-            = form_for(@project, url: transfer_project_path(@project), remote: true, html: { class: 'transfer-project' }) do |f|
+            = form_for(@project, url: transfer_project_path(@project), method: :put, remote: true, html: { class: 'transfer-project' }) do |f|
               .control-group
                 = f.label :namespace_id do
                   %span Namespace
diff --git a/config.ru b/config.ru
index 1edcd391e45698a277440361fce6b1c3a013837c..f7e5e091534b96d18d0526a8e083bdea3f0bb969 100644
--- a/config.ru
+++ b/config.ru
@@ -1,10 +1,12 @@
 # This file is used by Rack-based servers to start the application.
 
-# Unicorn self-process killer
-require 'unicorn/worker_killer'
+unless defined?(PhusionPassenger)
+  # Unicorn self-process killer
+  require 'unicorn/worker_killer'
 
-# # Max memory size (RSS) per worker
-use Unicorn::WorkerKiller::Oom, (200 * (1 << 20)), (250 * (1 << 20))
+  # Max memory size (RSS) per worker
+  use Unicorn::WorkerKiller::Oom, (200 * (1 << 20)), (250 * (1 << 20))
+end
 
 require ::File.expand_path('../config/environment',  __FILE__)
 
diff --git a/features/project/project.feature b/features/project/project.feature
index 59eda4a781da5cdc107e6720375287202d9e94ca..d8bb1d55e2d7b20b1153c94af121eb5ed2cd7b62 100644
--- a/features/project/project.feature
+++ b/features/project/project.feature
@@ -19,3 +19,8 @@ Feature: Project Feature
     And change project settings
     And I save project
     Then I should see project with new settings
+
+  Scenario: I change project path
+    When I visit edit project "Shop" page
+    And change project path settings
+    Then I should see project with new path settings
diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb
index a96b086fae56a77580667586c1609390471f3305..92728d474b2625e0418c9cbb6c474cca0c044932 100644
--- a/features/steps/project/project.rb
+++ b/features/steps/project/project.rb
@@ -3,16 +3,25 @@ class ProjectFeature < Spinach::FeatureSteps
   include SharedProject
   include SharedPaths
 
-  And 'change project settings' do
+  step 'change project settings' do
     fill_in 'project_name', with: 'NewName'
     uncheck 'project_issues_enabled'
   end
 
-  And 'I save project' do
+  step 'I save project' do
     click_button 'Save changes'
   end
 
-  Then 'I should see project with new settings' do
+  step 'I should see project with new settings' do
     find_field('project_name').value.should == 'NewName'
   end
+
+  step 'change project path settings' do
+    fill_in "project_path", with: "new-path"
+    click_button "Rename"
+  end
+
+  step 'I should see project with new path settings' do
+    project.path.should == "new-path"
+  end
 end
diff --git a/lib/gitlab/upgrader.rb b/lib/gitlab/upgrader.rb
index 1de681a97ffefbac00d7385bfa51bc693e445346..859923cb563a673853c410aa1275bf3c3e519a49 100644
--- a/lib/gitlab/upgrader.rb
+++ b/lib/gitlab/upgrader.rb
@@ -51,7 +51,7 @@ module Gitlab
       {
         "Stash changed files" => "git stash",
         "Get latest code" => "git fetch",
-        "Switch to new version" => "git checkout -b v#{latest_version}",
+        "Switch to new version" => "git checkout v#{latest_version}",
         "Install gems" => "bundle",
         "Migrate DB" => "bundle exec rake db:migrate RAILS_ENV=production",
         "Recompile assets" => "bundle exec rake assets:clean assets:precompile RAILS_ENV=production",