diff --git a/setup.py b/setup.py
index 1af92ef9..8ea8288e 100755
--- a/setup.py
+++ b/setup.py
@@ -35,6 +35,7 @@ VERSION = '3.21'
 
 install_requires = ['psutil', 'colorama', 'six', 'decorator', 'pyte']
 extras_require = {':python_version<"3.4"': ['pathlib2'],
+                  ':python_version<"3.3"': ['backports.shutil_get_terminal_size'],
                   ":sys_platform=='win32'": ['win_unicode_console']}
 
 setup(name='thefuck',
diff --git a/thefuck/output/read_log.py b/thefuck/output/read_log.py
index 1722cf82..07a480eb 100644
--- a/thefuck/output/read_log.py
+++ b/thefuck/output/read_log.py
@@ -1,6 +1,9 @@
 import os
 import shlex
-from shutil import get_terminal_size
+try:
+    from shutil import get_terminal_size
+except ImportError:
+    from backports.shutil_get_terminal_size import get_terminal_size
 from warnings import warn
 import pyte
 from ..exceptions import ScriptNotInLog
@@ -60,7 +63,7 @@ def get_output(script):
             lines = _get_output_lines(script, log_file)
             output = '\n'.join(lines).strip()
             return output, output
-    except FileNotFoundError:
+    except OSError:
         warn("Can't read output log")
         return None, None
     except ScriptNotInLog: