Index: wp-includes/class-wp-theme.php
===================================================================
--- wp-includes/class-wp-theme.php	(revision 21348)
+++ wp-includes/class-wp-theme.php	(working copy)
@@ -1071,7 +1071,8 @@
 	 * @return array Array of stylesheet names.
 	 */
 	public static function get_allowed( $blog_id = null ) {
-		return self::get_allowed_on_network() + self::get_allowed_on_site( $blog_id );
+		$allowed_on_network = (array) apply_filters( 'allowed_themes', self::get_allowed_on_network() );
+		return $allowed_on_network + self::get_allowed_on_site( $blog_id );
 	}
 
 	/**
@@ -1085,7 +1086,7 @@
 	public static function get_allowed_on_network() {
 		static $allowed_themes;
 		if ( ! isset( $allowed_themes ) )
-			$allowed_themes = (array) get_site_option( 'allowedthemes' );
+			$allowed_themes = (array) apply_filters( 'network_allowed_themes', get_site_option( 'allowedthemes' ) );
 		return $allowed_themes;
 	}
 
@@ -1145,7 +1146,7 @@
 			}
 		}
 
-		return (array) $allowed_themes[ $blog_id ];
+		return (array) apply_filters( 'site_allowed_themes', $allowed_themes[ $blog_id ], $blog_id );
 	}
 
 	/**
