diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb
index 7599fec3cdf26ae30e95a74b017a0d4ace4634f6..4c42be7d71087164bb6dbc864a8616562bfcbe79 100644
--- a/app/controllers/projects/blob_controller.rb
+++ b/app/controllers/projects/blob_controller.rb
@@ -43,7 +43,8 @@ class Projects::BlobController < Projects::ApplicationController
         diffs_namespace_project_merge_request_path(from_merge_request.target_project.namespace, from_merge_request.target_project, from_merge_request) +
           "#file-path-#{hexdigest(@path)}"
       else
-        namespace_project_blob_path(@project.namespace, @project, File.join(@target_branch, @path))
+        # params[:file_name] stores the new name for the file
+        namespace_project_blob_path(@project.namespace, @project, File.join(@target_branch, params[:file_name]))
       end
 
     create_commit(Files::UpdateService, success_path: after_edit_path,
diff --git a/app/services/files/update_service.rb b/app/services/files/update_service.rb
index 1960dc7d949c1abb2612d024227da98050a1c5e9..52451d72b571ee2a53117c4452acc916157b10bd 100644
--- a/app/services/files/update_service.rb
+++ b/app/services/files/update_service.rb
@@ -3,6 +3,7 @@ require_relative "base_service"
 module Files
   class UpdateService < Files::BaseService
     def commit
+      # Need to update file_path with the new filename
       repository.commit_file(current_user, @file_path, @file_content, @commit_message, @target_branch, true)
     end
   end
diff --git a/app/views/projects/blob/_editor.html.haml b/app/views/projects/blob/_editor.html.haml
index 29c7d45074a2241d5f20bb0a78b4443a0cec8184..3c64b2f5e96e165cc02aa3464c21baaf13a2e8a3 100644
--- a/app/views/projects/blob/_editor.html.haml
+++ b/app/views/projects/blob/_editor.html.haml
@@ -4,7 +4,11 @@
       = icon('code-fork')
       = ref
     %span.editor-file-name
-      = @path
+      - if current_action?(:edit) && can?(current_user, :push_code, @project)
+        = text_field_tag 'file_name', params[:file_name], placeholder: @path,
+                                      class: 'form-control new-file-name'
+      - else
+        = @path
 
     - if current_action?(:new) || current_action?(:create)
       %span.editor-file-name