Index: src/wp-admin/js/editor-expand.js
===================================================================
--- src/wp-admin/js/editor-expand.js	(revision 29679)
+++ src/wp-admin/js/editor-expand.js	(working copy)
@@ -223,15 +223,15 @@
 		}
 
 		function mceHide() {
-			var wrapHeight = $( '#wpwrap' ).height();
+			window.setTimeout( function() {
+				var top =  $contentWrap.offset().top;
 
-			textEditorResize();
-
-			if ( wrapHeight && $window.scrollTop() > wrapHeight ) {
-				window.scrollTo( window.pageXOffset, wrapHeight - 1 );
-			}
+				if ( window.pageYOffset > top ) {
+					window.scrollTo( window.pageXOffset, top - heights.adminBarHeight );
+				}
 
-			adjust();
+				adjust();
+			}, 100 );
 		}
 
 		mceBind = function() {
Index: src/wp-includes/css/media-views.css
===================================================================
--- src/wp-includes/css/media-views.css	(revision 29679)
+++ src/wp-includes/css/media-views.css	(working copy)
@@ -2511,50 +2511,50 @@
 	}
 }
 
-.attachments[data-columns="1"] .attachment {
+.media-frame-content[data-columns="1"] .attachment {
 	width: 100%;
 }
 
-.attachments[data-columns="2"] .attachment {
+.media-frame-content[data-columns="2"] .attachment {
 	width: 50%;
 }
 
-.attachments[data-columns="3"] .attachment {
+.media-frame-content[data-columns="3"] .attachment {
 	width: 33.3%;
 }
 
-.attachments[data-columns="4"] .attachment {
+.media-frame-content[data-columns="4"] .attachment {
 	width: 25%;
 }
 
-.attachments[data-columns="5"] .attachment {
+.media-frame-content[data-columns="5"] .attachment {
 	width: 20%;
 }
 
-.attachments[data-columns="6"] .attachment {
+.media-frame-content[data-columns="6"] .attachment {
 	width: 16.6%;
 }
 
-.attachments[data-columns="7"] .attachment {
+.media-frame-content[data-columns="7"] .attachment {
 	width: 14.2%;
 }
 
-.attachments[data-columns="8"] .attachment {
+.media-frame-content[data-columns="8"] .attachment {
 	width: 12.5%;
 }
 
-.attachments[data-columns="9"] .attachment {
+.media-frame-content[data-columns="9"] .attachment {
 	width: 11.1%;
 }
 
-.attachments[data-columns="10"] .attachment {
+.media-frame-content[data-columns="10"] .attachment {
 	width: 10%;
 }
 
-.attachments[data-columns="11"] .attachment {
+.media-frame-content[data-columns="11"] .attachment {
 	width: 9%;
 }
 
-.attachments[data-columns="12"] .attachment {
+.media-frame-content[data-columns="12"] .attachment {
 	width: 8.3%;
 }
Index: src/wp-includes/js/media-views.js
===================================================================
--- src/wp-includes/js/media-views.js	(revision 29679)
+++ src/wp-includes/js/media-views.js	(working copy)
@@ -5230,7 +5230,7 @@
 			_.bindAll( this, 'setColumns' );
 
 			if ( this.options.resize ) {
-				$( window ).on( 'resize.media-modal-columns', this.setColumns );
+				$( window ).on( 'resize.media-modal-columns', _.debounce( this.setColumns, this.options.refreshSensitivity ) );
 				this.controller.on( 'open', this.setColumns );
 			}
 
@@ -5308,7 +5308,7 @@
 				this.columns = Math.min( Math.round( width / this.options.idealColumnWidth ), 12 ) || 1;
 
 				if ( ! prev || prev !== this.columns ) {
-					this.$el.attr( 'data-columns', this.columns );
+					this.$el.parents( '.media-frame-content' ).attr( 'data-columns', this.columns );
 				}
 			}
 		},
