diff --git a/hggit/__init__.py b/hggit/__init__.py
index 503e9abfd50e9e4f97bbe7073b416c21489cb78f_aGdnaXQvX19pbml0X18ucHk=..ebc4ca3d1ed0a8eddd9a64ceea90440cdeec7936_aGdnaXQvX19pbml0X18ucHk= 100644
--- a/hggit/__init__.py
+++ b/hggit/__init__.py
@@ -202,7 +202,7 @@
     helpdir = os.path.join(os.path.dirname(pycompat.fsencode(__file__)),
                            b'help')
     entry = ([b'git'], _(b"Working with Git Repositories"),
-             lambda ui: open(os.path.join(helpdir, b'git.rst')).read())
+             lambda ui: open(os.path.join(helpdir, b'git.rst'), 'rb').read())
     insort(help.helptable, entry)
 
 
diff --git a/hggit/git_handler.py b/hggit/git_handler.py
index 503e9abfd50e9e4f97bbe7073b416c21489cb78f_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..ebc4ca3d1ed0a8eddd9a64ceea90440cdeec7936_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644
--- a/hggit/git_handler.py
+++ b/hggit/git_handler.py
@@ -263,7 +263,7 @@
                 for f in files:
                     try:
                         ref = root.replace(refdir + pycompat.ossep, b'') + b'/'
-                        node = open(os.path.join(root, f)).read().strip()
+                        node = open(os.path.join(root, f), 'rb').read().strip()
                         self._remote_refs[ref + f] = bin(self._map_git[node])
                     except (KeyError, IOError):
                         pass
diff --git a/hggit/gitdirstate.py b/hggit/gitdirstate.py
index 503e9abfd50e9e4f97bbe7073b416c21489cb78f_aGdnaXQvZ2l0ZGlyc3RhdGUucHk=..ebc4ca3d1ed0a8eddd9a64ceea90440cdeec7936_aGdnaXQvZ2l0ZGlyc3RhdGUucHk= 100644
--- a/hggit/gitdirstate.py
+++ b/hggit/gitdirstate.py
@@ -96,7 +96,7 @@
         patterns = []
         # Only use .gitignore if there's no .hgignore
         try:
-            fp = open(files[0])
+            fp = open(files[0], 'rb')
             fp.close()
         except:
             fns = self._finddotgitignores()
@@ -105,7 +105,7 @@
                 fn = self.pathto(fn)
                 if not os.path.exists(fn):
                     continue
-                fp = open(fn)
+                fp = open(fn, 'rb')
                 pats, warnings = gignorepats(None, fp, root=d)
                 for warning in warnings:
                     self._ui.warn(b"%s: %s\n" % (fn, warning))