Index: modules/overlay/overlay.module
===================================================================
--- modules/overlay/overlay.module	(revision 17942)
+++ modules/overlay/overlay.module	(working copy)
@@ -58,6 +58,21 @@
 }
 
 /**
+ * Implement hook_custom_theme().
+ */
+function overlay_custom_theme() {
+  global $user;
+
+  // Either a module already set the overlay mode or overlay_init() did not
+  // run, so we have no mode. Reproduce its logic here, because we run earlier.
+  $use_overlay = !isset($user->data['overlay']) || $user->data['overlay'];
+  if (overlay_get_mode() == 'child' || (user_access('access overlay') && $use_overlay && isset($_GET['render']) && $_GET['render'] == 'overlay' && path_is_admin(current_path()))) {
+    // Force pages displayed in overlay to use the admin theme.
+    return variable_get('admin_theme');
+  }
+}
+
+/**
  * Implements hook_form_FORM_ID_alter().
  */
 function overlay_form_user_profile_form_alter(&$form, &$form_state) {
