diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index a2b7926..3c19acf 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1726,8 +1726,18 @@ function theme_system_themes_page($variables) {
     foreach ($theme_groups[$state] as $theme) {
 
       // Theme the screenshot.
-      $screenshot = $theme->screenshot ? theme('image', $theme->screenshot) : '<div class="no-screenshot">' . t('no screenshot') . '</div>';
-
+      if ($theme->screenshot) {
+        $image = array('#theme' => 'image');
+        foreach ($theme->screenshot as $key => $value) {
+          $image['#' . $key] = $value;
+        }
+        
+        $screenshot = drupal_render($image);
+      }
+      else {
+        $screenshot = '<div class="no-screenshot">' . t('no screenshot') . '</div>';
+      }
+      
       // Localize the theme description.
       $description = t($theme->info['description']);
 
@@ -1754,7 +1764,14 @@ function theme_system_themes_page($variables) {
         $output .= '<div class="incompatible">' . t('This theme requires the theme engine @theme_engine to operate correctly.', array('@theme_engine' => $theme->info['engine'])) . '</div>';
       }
       else {
-        $output .= theme('links', array('links' => $theme->operations, 'attributes' => array('class' => array('operations', 'clearfix'))));
+        $links = array(
+          '#theme' => 'links',
+          '#links' => $theme->operations,
+          '#attributes' => array(
+            'class' => array('operations', 'clearfix'),
+          ),
+        );
+        $output .= drupal_render($links);
       }
       $output .= '</div></div>';
     }