diff --git a/src/wp-includes/css/media-views.css b/src/wp-includes/css/media-views.css
index 0f57613..9400702 100644
--- a/src/wp-includes/css/media-views.css
+++ b/src/wp-includes/css/media-views.css
@@ -1,6 +1,10 @@
 /**
  * Base Styles
  */
+body.no-scroll {
+	overflow: hidden;
+}
+
 .media-modal * {
 	-webkit-box-sizing: content-box;
 	-moz-box-sizing: content-box;
diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js
index 0f3246e..5c87532 100644
--- a/src/wp-includes/js/media-views.js
+++ b/src/wp-includes/js/media-views.js
@@ -3206,6 +3206,9 @@
 			var $el = this.$el,
 				options = this.options;
 
+			// Disallow scrolling on the body while the modal is open.
+			$('body').addClass( 'no-scroll' );
+
 			if ( $el.is(':visible') ) {
 				return this;
 			}
@@ -3236,6 +3239,9 @@
 				return this;
 			}
 
+			// Disallow scrolling on the body while the modal is open.
+			$('body').removeClass( 'no-scroll' );
+
 			// Hide modal and remove restricted media modal tab focus once it's closed
 			this.$el.hide().undelegate( 'keydown' );
 
