Index: src/wp-includes/nav-menu.php
===================================================================
--- src/wp-includes/nav-menu.php	(revision 26983)
+++ src/wp-includes/nav-menu.php	(working copy)
@@ -90,6 +90,9 @@
 
 	if ( is_array( $_wp_registered_nav_menus ) && isset( $_wp_registered_nav_menus[$location] ) ) {
 		unset( $_wp_registered_nav_menus[$location] );
+		if ( empty( $_wp_registered_nav_menus ) ) {
+			_remove_theme_support( 'menus' );
+		}
 		return true;
 	}
 	return false;
Index: tests/phpunit/tests/theme/support.php
===================================================================
--- tests/phpunit/tests/theme/support.php	(revision 26983)
+++ tests/phpunit/tests/theme/support.php	(working copy)
@@ -156,4 +156,31 @@
 		remove_theme_support( 'foobar' );
 		$this->assertFalse( current_theme_supports( 'foobar', 'bar' ) );
 	}
+
+	/**
+	 * @ticket 26900
+	 */
+	function test_supports_menus() {
+		// Start fresh
+		_remove_theme_support( 'menus' );
+		$this->assertFalse( current_theme_supports( 'menus' ) );
+
+		// Registering a nav menu automatically adds support.
+		register_nav_menu( 'primary', 'Primary Navigation' );
+		register_nav_menu( 'secondary', 'Secondary Navigation' );
+		$this->assertTrue( current_theme_supports( 'menus' ) );
+
+		// Support added internally, can't be removed.
+		remove_theme_support( 'menus' );
+		$this->assertTrue( current_theme_supports( 'menus' ) );
+
+		// Still supports because of secondary.
+		unregister_nav_menu( 'primary' );
+		$this->assertTrue( current_theme_supports( 'menus' ) );
+
+		// No longer support because we have no menus.
+		unregister_nav_menu( 'secondary' );
+		$this->assertEmpty( get_registered_nav_menus() );
+		$this->assertFalse( current_theme_supports( 'menus' ) );
+	}
 }
