diff --git a/gogs.go b/gogs.go
index 04689d4544..2599a4c1d6 100644
--- a/gogs.go
+++ b/gogs.go
@@ -17,7 +17,7 @@ import (
 	"github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.9.97.0830"
+const APP_VER = "0.9.97.0831"
 
 func init() {
 	runtime.GOMAXPROCS(runtime.NumCPU())
diff --git a/modules/base/tool.go b/modules/base/tool.go
index e321d2b868..52d1e178db 100644
--- a/modules/base/tool.go
+++ b/modules/base/tool.go
@@ -518,7 +518,11 @@ func IsLetter(ch rune) bool {
 	return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= 0x80 && unicode.IsLetter(ch)
 }
 
+// IsTextFile returns true if file content format is plain text or empty.
 func IsTextFile(data []byte) bool {
+	if len(data) == 0 {
+		return true
+	}
 	return strings.Index(http.DetectContentType(data), "text/") != -1
 }
 
diff --git a/routers/repo/editor.go b/routers/repo/editor.go
index bf2244719c..428a25d568 100644
--- a/routers/repo/editor.go
+++ b/routers/repo/editor.go
@@ -64,9 +64,7 @@ func editFile(ctx *context.Context, isNewFile bool) {
 
 		buf := make([]byte, 1024)
 		n, _ := dataRc.Read(buf)
-		if n > 0 {
-			buf = buf[:n]
-		}
+		buf = buf[:n]
 
 		// Only text file are editable online.
 		if !base.IsTextFile(buf) {
diff --git a/routers/repo/view.go b/routers/repo/view.go
index 055785564d..c04ef1ee3f 100644
--- a/routers/repo/view.go
+++ b/routers/repo/view.go
@@ -64,6 +64,7 @@ func renderDirectory(ctx *context.Context, treeLink string) {
 	}
 
 	if readmeFile != nil {
+		ctx.Data["RawFileLink"] = ""
 		ctx.Data["ReadmeInList"] = true
 		ctx.Data["ReadmeExist"] = true
 
@@ -75,9 +76,7 @@ func renderDirectory(ctx *context.Context, treeLink string) {
 
 		buf := make([]byte, 1024)
 		n, _ := dataRc.Read(buf)
-		if n > 0 {
-			buf = buf[:n]
-		}
+		buf = buf[:n]
 
 		isTextFile := base.IsTextFile(buf)
 		ctx.Data["FileIsText"] = isTextFile
@@ -134,9 +133,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 
 	buf := make([]byte, 1024)
 	n, _ := dataRc.Read(buf)
-	if n > 0 {
-		buf = buf[:n]
-	}
+	buf = buf[:n]
 
 	isTextFile := base.IsTextFile(buf)
 	ctx.Data["IsTextFile"] = isTextFile
diff --git a/templates/.VERSION b/templates/.VERSION
index 60a098b413..b976997b57 100644
--- a/templates/.VERSION
+++ b/templates/.VERSION
@@ -1 +1 @@
-0.9.97.0830
\ No newline at end of file
+0.9.97.0831
\ No newline at end of file