diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index 36a494baa8174604c95075b90f7ca6cef3eac198..105781d2809c7b34159cd35350282013fd9a4672 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -15,6 +15,9 @@ six==1.11.0
 # Convert text markup to HTML; used in capa problems, forums, and course wikis; pin Markdown version as tests failed for its upgrade to latest release
 Markdown==2.6.11
 
+# 5.4.0 causes cms/djangoapps/api/v1/tests/test_views/test_course_runs.py::CourseRunViewSetTests::test_images_upload to fail
+pillow==5.3.0
+
 # required by edx-lint and pinned explicitly here because newer versions don't guarantee python 2 support.
 # Can be removed when we get to Python 3.
 pylint-plugin-utils==0.3
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index 255040f50b4dee60d423f1ad420c8164cdb5b5a2..d681fa295eb45b107b8a6891c3866867fac1e148 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -182,7 +182,7 @@ paver==1.3.4
 pbr==5.1.1
 pdfminer==20140328
 piexif==1.0.2
-pillow==5.4.0
+pillow==5.3.0
 polib==1.1.0              # via edx-i18n-tools
 psutil==1.2.1
 py2neo==3.1.2
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index 63f74183c3fbb8dfba931db86010306cf1e2c706..49f7fd26eca43acc5460fdc19d22654fca522b94 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -233,7 +233,7 @@ paver==1.3.4
 pbr==5.1.1
 pdfminer==20140328
 piexif==1.0.2
-pillow==5.4.0
+pillow==5.3.0
 pip-tools==3.2.0
 pluggy==0.8.0
 polib==1.1.0
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index a025421fb5c8885b8d755e061fb9a0d94a476761..c53d81bb7b5d084cfc6441c95aae2ef3e75cc9d6 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -224,7 +224,7 @@ paver==1.3.4
 pbr==5.1.1
 pdfminer==20140328
 piexif==1.0.2
-pillow==5.4.0
+pillow==5.3.0
 pluggy==0.8.0             # via pytest, tox
 polib==1.1.0
 psutil==1.2.1