diff --git a/modules/git/commit.go b/modules/git/commit.go
index d2d373da1..4e254dcec 100644
--- a/modules/git/commit.go
+++ b/modules/git/commit.go
@@ -88,11 +88,11 @@ func (c *Commit) GetCommitOfRelPath(relPath string) (*Commit, error) {
 }
 
 func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {
-	moduels, err := c.GetSubModules()
+	modules, err := c.GetSubModules()
 	if err != nil {
 		return nil, err
 	}
-	return moduels[entryname], nil
+	return modules[entryname], nil
 }
 
 func (c *Commit) GetSubModules() (map[string]*SubModule, error) {
diff --git a/modules/git/submodule.go b/modules/git/submodule.go
index 6927f8cba..0c7c2696c 100644
--- a/modules/git/submodule.go
+++ b/modules/git/submodule.go
@@ -31,6 +31,10 @@ func NewSubModuleFile(c *Commit, refUrl, refId string) *SubModuleFile {
 
 // RefUrl guesses and returns reference URL.
 func (sf *SubModuleFile) RefUrl() string {
+	if sf.refUrl == "" {
+		return ""
+	}
+
 	url := strings.TrimSuffix(sf.refUrl, ".git")
 
 	// git://xxx/user/repo
diff --git a/routers/repo/view.go b/routers/repo/view.go
index cfe0fa010..2a36db6b4 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -141,13 +141,17 @@ func Home(ctx *middleware.Context) {
 					ctx.Handle(500, "GetSubModule", err)
 					return
 				}
+				smUrl := ""
+				if sm != nil {
+					smUrl = sm.Url
+				}
 
 				c, err := ctx.Repo.Commit.GetCommitOfRelPath(filepath.Join(treePath, te.Name()))
 				if err != nil {
 					ctx.Handle(500, "GetCommitOfRelPath", err)
 					return
 				}
-				files = append(files, []interface{}{te, git.NewSubModuleFile(c, sm.Url, te.Id.String())})
+				files = append(files, []interface{}{te, git.NewSubModuleFile(c, smUrl, te.Id.String())})
 			}
 		}
 		ctx.Data["Files"] = files
diff --git a/templates/repo/view_list.tmpl b/templates/repo/view_list.tmpl
index 06536b472..f51c10025 100644
--- a/templates/repo/view_list.tmpl
+++ b/templates/repo/view_list.tmpl
@@ -39,7 +39,11 @@
                     <span class="octicon octicon-file-submodule"></span>
                 </td>
                 <td class="name">
+                    {{if $commit.RefUrl}}
                     <a href="{{$commit.RefUrl}}" class="text-truncate">{{$entry.Name}}</a> @ <a href="{{$commit.RefUrl}}/commit/{{$commit.RefId}}">{{ShortSha $commit.RefId}}</a>
+                    {{else}}
+                    {{$entry.Name}} @ {{ShortSha $commit.RefId}}
+                    {{end}}
                 </td>
             {{else}}
             <td class="icon">