diff --git a/pre_commit_hooks/check_added_large_files.py b/pre_commit_hooks/check_added_large_files.py
index 973b958..3a53fe3 100644
--- a/pre_commit_hooks/check_added_large_files.py
+++ b/pre_commit_hooks/check_added_large_files.py
@@ -9,12 +9,34 @@
 import sys
 
 from pre_commit_hooks.util import added_files
+from pre_commit_hooks.util import CalledProcessError
+from pre_commit_hooks.util import cmd_output
+
+
+def lfs_files():
+    try:  # pragma: no cover (no git-lfs)
+        lines = cmd_output('git', 'lfs', 'status', '--porcelain').splitlines()
+    except CalledProcessError:
+        lines = []
+
+    modes_and_fileparts = [
+        (line[:3].strip(), line[3:].rpartition(' ')[0]) for line in lines
+    ]
+
+    def to_file_part(mode, filepart):
+        assert mode in ('A', 'R')
+        return filepart if mode == 'A' else filepart.split(' -> ')[1]
+
+    return set(
+        to_file_part(mode, filepart) for mode, filepart in modes_and_fileparts
+        if mode in ('A', 'R')
+    )
 
 
 def find_large_added_files(filenames, maxkb):
     # Find all added files that are also in the list of files pre-commit tells
     # us about
-    filenames = added_files() & set(filenames)
+    filenames = (added_files() & set(filenames)) - lfs_files()
 
     retv = 0
     for filename in filenames:
diff --git a/pre_commit_hooks/util.py b/pre_commit_hooks/util.py
index bacb242..269b553 100644
--- a/pre_commit_hooks/util.py
+++ b/pre_commit_hooks/util.py
@@ -21,7 +21,9 @@
     popen_kwargs.update(kwargs)
     proc = subprocess.Popen(cmd, **popen_kwargs)
     stdout, stderr = proc.communicate()
-    stdout, stderr = stdout.decode('UTF-8'), stderr.decode('UTF-8')
+    stdout = stdout.decode('UTF-8')
+    if stderr is not None:
+        stderr = stderr.decode('UTF-8')
     if retcode is not None and proc.returncode != retcode:
         raise CalledProcessError(cmd, retcode, proc.returncode, stdout, stderr)
     return stdout
