diff --git a/polysquarelinter/lint_spelling_only.py b/polysquarelinter/lint_spelling_only.py
index <HASH>..<HASH> 100644
--- a/polysquarelinter/lint_spelling_only.py
+++ b/polysquarelinter/lint_spelling_only.py
@@ -122,7 +122,7 @@ def main(arguments=None):  # suppress(unused-function)
     num_errors = 0
     for found_filename in result.files:
         file_path = os.path.abspath(found_filename)
-        with open(file_path, "r+") as found_file:
+        with open(file_path, "rb+") as found_file:
             jobstamps_dependencies = [file_path]
 
             if os.path.exists(dictionary_path):
diff --git a/polysquarelinter/linter.py b/polysquarelinter/linter.py
index <HASH>..<HASH> 100644
--- a/polysquarelinter/linter.py
+++ b/polysquarelinter/linter.py
@@ -732,7 +732,7 @@ def _run_lint_on_file(file_path,
     If fix_what_you_can is specified, then the first error that has a
     possible replacement will be automatically fixed on this file.
     """
-    with open(file_path, "r+") as found_file:
+    with open(file_path, "rb+") as found_file:
         file_contents = found_file.read().decode("utf-8")
         file_lines = file_contents.splitlines(True)
         try:
polysquarelinter: Read as binary