diff --git a/CHANGELOG b/CHANGELOG
index 97b8c182c4255b78ba65102518b0e09978ab8ef3..97a469513c8d951848c597167c604ad148b67d9d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -8,6 +8,7 @@ v 7.11.0 (unreleased)
   - Redirect to sign in page after signing out.
   - Fix "Hello @username." references not working by no longer allowing usernames to end in period.
   -
+  - Fix broken file browsing with relative submodule in personal projects (Stan Hu)
   - Add "Reply quoting selected text" shortcut key (`r`)
   - Fix bug causing `@whatever` inside an issue's first code block to be picked up as a user mention.
   - Fix bug causing `@whatever` inside an inline code snippet (backtick-style) to be picked up as a user mention.
diff --git a/app/helpers/submodule_helper.rb b/app/helpers/submodule_helper.rb
index 9954617c76295c56662fbe8a0361a5612984e5e5..e13d4eaf101b66276e48c1a51f701d716f7faf0f 100644
--- a/app/helpers/submodule_helper.rb
+++ b/app/helpers/submodule_helper.rb
@@ -63,7 +63,7 @@ module SubmoduleHelper
     namespace = components.pop.gsub(/^\.\.$/, '')
 
     if namespace.empty?
-      namespace = @project.group.path
+      namespace = @project.namespace.name
     end
 
     [
diff --git a/spec/helpers/submodule_helper_spec.rb b/spec/helpers/submodule_helper_spec.rb
index e99c3f5bc11dfd49361c9c2d61689c35e5893bff..e98b75afabcf88741851bc292f0d5a8b940c0e9d 100644
--- a/spec/helpers/submodule_helper_spec.rb
+++ b/spec/helpers/submodule_helper_spec.rb
@@ -117,34 +117,41 @@ describe SubmoduleHelper do
     context 'submodules with relative links' do
       let(:group) { create(:group) }
       let(:project) { create(:project, group: group) }
+      let(:commit_id) { sample_commit[:id] }
 
       before do
         self.instance_variable_set(:@project, project)
       end
 
       it 'one level down' do
-        commit_id = sample_commit[:id]
         result = relative_self_links('../test.git', commit_id)
         expect(result).to eq(["/#{group.path}/test", "/#{group.path}/test/tree/#{commit_id}"])
       end
 
       it 'two levels down' do
-        commit_id = sample_commit[:id]
         result = relative_self_links('../../test.git', commit_id)
         expect(result).to eq(["/#{group.path}/test", "/#{group.path}/test/tree/#{commit_id}"])
       end
 
       it 'one level down with namespace and repo' do
-        commit_id = sample_commit[:id]
         result = relative_self_links('../foobar/test.git', commit_id)
         expect(result).to eq(["/foobar/test", "/foobar/test/tree/#{commit_id}"])
       end
 
       it 'two levels down with namespace and repo' do
-        commit_id = sample_commit[:id]
         result = relative_self_links('../foobar/baz/test.git', commit_id)
         expect(result).to eq(["/baz/test", "/baz/test/tree/#{commit_id}"])
       end
+
+      context 'personal project' do
+        let(:user) { create(:user) }
+        let(:project) { create(:project, namespace: user.namespace) }
+
+        it 'one level down with personal project' do
+          result = relative_self_links('../test.git', commit_id)
+          expect(result).to eq(["/#{user.username}/test", "/#{user.username}/test/tree/#{commit_id}"])
+        end
+      end
     end
   end