Index: src/js/_enqueues/admin/common.js
===================================================================
--- src/js/_enqueues/admin/common.js	(revision 46178)
+++ src/js/_enqueues/admin/common.js	(working copy)
@@ -1274,6 +1274,8 @@
 		init: function() {
 			var self = this;
 
+			this.maybeDisableSortables = this.maybeDisableSortables.bind( this );
+
 			// Modify functionality based on custom activate/deactivate event
 			$document.on( 'wp-responsive-activate.wp-responsive', function() {
 				self.activate();
@@ -1313,15 +1315,32 @@
 			$document.on( 'wp-window-resized.wp-responsive', $.proxy( this.trigger, this ) );
 
 			// This needs to run later as UI Sortable may be initialized later on $(document).ready().
-			$window.on( 'load.wp-responsive', function() {
-				var width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? $window.width() : window.innerWidth;
+			$window.on( 'load.wp-responsive', this.maybeDisableSortables );
 
-				if ( width <= 782 ) {
-					self.disableSortables();
-				}
-			});
+			// When the screen columns are changed, potentially disable sortables.
+			$( '#screen-options-wrap input' ).on( 'click', this.maybeDisableSortables );
 		},
+		
+		/**
+		 * Disable sortables if there is only one metabox, or the screen is in one column mode. Otherwise, enable sortables.
+		 *
+		 * @since 5.3.0
+		 *
+		 * @returns {void}
+		 */
+		maybeDisableSortables: function() {
+			var width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? $window.width() : window.innerWidth;
 
+			if (
+				( width <= 782 ) ||
+				( 1 >= $sortables.find( 'h2:visible' ).length && jQuery( '.columns-prefs-1 input' ).prop( 'checked' ) )
+			) {
+				this.disableSortables();
+			} else {
+				this.enableSortables();
+			}
+		},
+
 		/**
 		 * Changes properties of body and admin menu.
 		 *
@@ -1356,7 +1375,8 @@
 		deactivate: function() {
 			setPinMenu();
 			$adminmenu.removeData('wp-responsive');
-			this.enableSortables();
+
+			this.maybeDisableSortables();
 		},
 
 		/**
@@ -1391,6 +1411,8 @@
 			} else {
 				this.disableOverlay();
 			}
+
+			this.maybeDisableSortables();
 		},
 
 		/**
@@ -1439,6 +1461,7 @@
 			if ( $sortables.length ) {
 				try {
 					$sortables.sortable( 'disable' );
+					$sortables.find( 'h2' ).css( 'cursor', 'auto' );
 				} catch ( e ) {}
 			}
 		},
@@ -1454,6 +1477,7 @@
 			if ( $sortables.length ) {
 				try {
 					$sortables.sortable( 'enable' );
+					$sortables.find( 'h2' ).css( 'cursor', 'move' );
 				} catch ( e ) {}
 			}
 		}
