diff --git includes/theme.inc includes/theme.inc
index 1e3580e..89d06ba 100644
--- includes/theme.inc
+++ includes/theme.inc
@@ -67,12 +67,13 @@ function _drupal_theme_access($theme) {
 
 /**
  * Initialize the theme system by loading the theme.
+ * Use $force_theme to load a specific theme
  */
-function drupal_theme_initialize() {
+function drupal_theme_initialize($force_theme = '') {
   global $theme, $user, $theme_key;
 
   // If $theme is already set, assume the others are set, too, and do nothing
-  if (isset($theme)) {
+  if (isset($theme) && $force_theme == '') {
     return;
   }
 
@@ -86,7 +87,7 @@ function drupal_theme_initialize() {
   // Allow modules to override the theme. Validation has already been performed
   // inside menu_get_custom_theme(), so we do not need to check it again here.
   $custom_theme = menu_get_custom_theme();
-  $theme = !empty($custom_theme) ? $custom_theme : $theme;
+  $theme = !empty($force_theme) ? $force_theme : (!empty($custom_theme) ? $custom_theme : $theme);
 
   // Store the identifier for retrieving theme settings with.
   $theme_key = $theme;
