diff --git a/fs/gitilesfs_test.go b/fs/gitilesfs_test.go
index b004a37..b57613d 100644
--- a/fs/gitilesfs_test.go
+++ b/fs/gitilesfs_test.go
@@ -180,12 +180,12 @@
 	out := []byte(resp)
 
 	if strings.Contains(r.URL.String(), "format=TEXT") {
+		w.Header().Set("Content-Type", "text/html; charset=UTF-8")
 		str := base64.StdEncoding.EncodeToString(out)
 		w.Write([]byte(str))
 	} else {
 		w.Write([]byte(resp))
 	}
-	// TODO(hanwen): set content type?
 }
 
 func newTestServer() (*testServer, error) {
diff --git a/gitiles/client.go b/gitiles/client.go
index 10cb86a..4777d0e 100644
--- a/gitiles/client.go
+++ b/gitiles/client.go
@@ -86,6 +86,12 @@
 	if err != nil {
 		return nil, err
 	}
+
+	if resp.Header.Get("Content-Type") == "text/html; charset=UTF-8" {
+		out := make([]byte, base64.StdEncoding.DecodedLen(len(c)))
+		n, err := base64.StdEncoding.Decode(out, c)
+		return out[:n], err
+	}
 	return c, nil
 }
 
@@ -153,15 +159,7 @@
 
 	// TODO(hanwen): invent a more structured mechanism for logging.
 	log.Println(blobURL.String())
-	c, err := s.service.get(blobURL)
-	if err != nil {
-		return nil, err
-	}
-
-	out := make([]byte, base64.StdEncoding.DecodedLen(len(c)))
-	n, err := base64.StdEncoding.Decode(out, c)
-
-	return out[:n], err
+	return s.service.get(blobURL)
 }
 
 // GetTree fetches a tree. The dir argument may not point to a
