diff --git a/.travis.yml b/.travis.yml
index 30e3555e8b1b79318f90fd3e0354de52181bf46d..29cf83e468ab8a1e37388db80c3d035ab3b968ff 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,7 +24,7 @@ addons:
 install:
   - >
       conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION
-      numpy scipy nose pandas matplotlib mkl-service tensorflow pypandoc
+      numpy scipy nose pandas matplotlib mkl-service 'tensorflow>=1.1.0,<2.0.0' pypandoc
   - source activate test-environment
   - pip install nose-timer
   - pip install -r requirements.txt
diff --git a/mhcflurry/version.py b/mhcflurry/version.py
index 3e8d9f94621c6b29efab723e119a73a0dbe15089..bf2561596c184db791a961de3c6db3b43205fa3c 100644
--- a/mhcflurry/version.py
+++ b/mhcflurry/version.py
@@ -1 +1 @@
-__version__ = "1.4.0"
+__version__ = "1.4.1"
diff --git a/requirements.txt b/requirements.txt
index 12e90c7dc84a881343bab3335c5fd6cb28a508cf..62b6d89b95d9d2fcbefd0afbd2d9daea7d429114 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@ six
 numpy>=1.11
 pandas>=0.20.3
 Keras>=2.2.5
-tensorflow>=1.1.0
+tensorflow>=1.1.0,<2.0.0
 appdirs
 scikit-learn
 mhcnames
diff --git a/setup.py b/setup.py
index c9e2c9f318c836ec161e1034e20be6da68be8d1c..78809cd4724b5be356558c9e5e418df7a3f58d5d 100644
--- a/setup.py
+++ b/setup.py
@@ -53,7 +53,7 @@ if __name__ == '__main__':
         'pandas>=0.20.3',
         'Keras>=2.2.5',
         'appdirs',
-        'tensorflow>=1.1.0',
+        'tensorflow>=1.1.0,<2.0.0',
         'scikit-learn',
         'mhcnames',
         'pyyaml',