diff --git a/wp-includes/theme.php b/wp-includes/theme.php
index 07b0f6a..01f9def 100644
--- a/wp-includes/theme.php
+++ b/wp-includes/theme.php
@@ -796,23 +796,29 @@ function validate_current_theme() {
  * Retrieve all theme modifications.
  *
  * @since 3.1.0
+ * @staticvar array $_wp_theme_mods
  *
  * @return array|void Theme modifications.
  */
 function get_theme_mods() {
-	$theme_slug = get_option( 'stylesheet' );
-	$mods = get_option( "theme_mods_$theme_slug" );
-	if ( false === $mods ) {
-		$theme_name = get_option( 'current_theme' );
-		if ( false === $theme_name )
-			$theme_name = wp_get_theme()->get('Name');
-		$mods = get_option( "mods_$theme_name" ); // Deprecated location.
-		if ( is_admin() && false !== $mods ) {
-			update_option( "theme_mods_$theme_slug", $mods );
-			delete_option( "mods_$theme_name" );
+	static $_wp_theme_mods = false;
+
+	if ( empty( $_wp_theme_mods ) ) {
+		$theme_slug     = get_option( 'stylesheet' );
+		$_wp_theme_mods = get_option( "theme_mods_$theme_slug" );
+		if ( false === $_wp_theme_mods ) {
+			$theme_name = get_option( 'current_theme' );
+			if ( false === $theme_name ) {
+				$theme_name = wp_get_theme()->get( 'Name' );
+			}
+			$_wp_theme_mods = get_option( "mods_$theme_name" ); // Deprecated location.
+			if ( is_admin() && false !== $_wp_theme_mods ) {
+				update_option( "theme_mods_$theme_slug", $_wp_theme_mods );
+				delete_option( "mods_$theme_name" );
+			}
 		}
 	}
-	return $mods;
+	return $_wp_theme_mods;
 }
 
 /**
