diff --git a/core/modules/system/css/system.admin.css b/core/modules/system/css/system.admin.css
index 203f7d2..f45921d 100644
--- a/core/modules/system/css/system.admin.css
+++ b/core/modules/system/css/system.admin.css
@@ -48,7 +48,7 @@ div.admin .expert-link {
 }
 
 /**
- * Markup generated by theme_system_compact_link().
+ * System compact link: to toggle the display of description text.
  */
 .compact-link {
   margin: 0 0 0.5em 0;
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 3af30c8..56b0337 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -389,7 +389,26 @@ function theme_admin_page($variables) {
     }
   }
 
-  $system_compact_link = array('#theme' => 'system_compact_link');
+  $system_compact_link = array(
+    '#type' => 'link',
+    '#href' => 'admin/compact/off',
+    '#title' => t('Show descriptions'),
+    '#attributes' => array(
+      'title' => t('Expand layout to include descriptions.'),
+    ),
+    '#options' => array('query' => drupal_get_destination()),
+    '#theme_wrappers' => array('container'),
+    '#wrapper_container_attributes' => array(
+      'class' => array('compact-link'),
+    ),
+  );
+
+  if (!system_admin_compact_mode()) {
+    $system_compact_link['#href'] = 'admin/compact/on';
+    $system_compact_link['#title'] = t('Hide descriptions');
+    $system_compact_link['#attributes']['title'] = t('Compress layout by hiding descriptions.');
+  }
+
   $output = '<div class="admin clearfix">';
   $output .= drupal_render($system_compact_link);
 
