diff -urp --strip-trailing-cr ../drupal-6.x-dev/includes/theme.maintenance.inc ./includes/theme.maintenance.inc
--- ../drupal-6.x-dev/includes/theme.maintenance.inc	2008-01-07 16:31:50.000000000 +0100
+++ ./includes/theme.maintenance.inc	2008-01-15 23:19:40.000000000 +0100
@@ -139,6 +139,12 @@ function theme_install_page($content) {
     $variables['messages'] .= theme('status_messages', 'status');
   }
 
+  // This was called as a theme hook (not template), so we need to
+  // fix path_to_theme() for the template, to point at the actual
+  // theme rather than system module as owner of the hook.
+  global $theme_path;
+  $theme_path = 'themes/garland';
+
   return theme_render_template('themes/garland/maintenance-page.tpl.php', $variables);
 }
 
@@ -163,6 +169,12 @@ function theme_update_page($content, $sh
   // The maintenance preprocess function is recycled here.
   template_preprocess_maintenance_page($variables);
 
+  // This was called as a theme hook (not template), so we need to
+  // fix path_to_theme() for the template, to point at the actual
+  // theme rather than system module as owner of the hook.
+  global $theme_path;
+  $theme_path = 'themes/garland';
+
   return theme_render_template('themes/garland/maintenance-page.tpl.php', $variables);
 }
 
