diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module
index a58d7a2..061fa30 100644
--- a/core/modules/filter/filter.module
+++ b/core/modules/filter/filter.module
@@ -76,10 +76,6 @@ function filter_help($path, $arg) {
  */
 function filter_theme() {
   return array(
-    'filter_tips' => array(
-      'variables' => array('tips' => NULL, 'long' => FALSE),
-      'file' => 'filter.pages.inc',
-    ),
     'text_format_wrapper' => array(
       'render element' => 'element',
     ),
@@ -1159,11 +1155,28 @@ function theme_filter_guidelines($variables) {
   $attributes['class'][] = 'filter-guidelines-' . $format->format;
   $output = '<div' . new Attribute($attributes) . '>';
   $output .= '<h4 class="label">' . check_plain($format->name) . '</h4>';
-  $filter_tips = array(
-    '#theme' => 'filter_tips',
-    '#tips' => _filter_tips($format->format, FALSE),
-  );
-  $output .= drupal_render($filter_tips);
+
+  $filter_tips = _filter_tips($format->format, FALSE);
+  $tips = !empty($filter_tips[$format->name]) ? $filter_tips[$format->name] : array();
+  if (count($tips) > 0) {
+    $items = array();
+    foreach ($tips as $tip) {
+      $items[] = array(
+        '#markup' => $tip['tip'],
+        '#wrapper_attributes' => array(
+          'class' => array(drupal_html_class('filter-' . $tip['id'])),
+        ),
+      );
+    }
+
+    $build = array(
+      '#theme' => 'item_list',
+      '#items' => $items,
+      '#attributes' => array('class' => array('tips'))
+    );
+    $output .= drupal_render($build);
+  }
+
   $output .= '</div>';
   return $output;
 }
diff --git a/core/modules/filter/filter.pages.inc b/core/modules/filter/filter.pages.inc
index 8f2e298..dd0ebde 100644
--- a/core/modules/filter/filter.pages.inc
+++ b/core/modules/filter/filter.pages.inc
@@ -6,36 +6,19 @@
  */
 
 /**
- * Returns HTML for a set of filter tips.
+ * Page callback: Displays a page with long filter tips.
  *
- * @param array $variables
- *   An associative array containing:
- *   - tips: An array containing descriptions and a CSS ID in the form of
- *     'module-name/filter-id' (only used when $long is TRUE) for each
- *     filter in one or more text formats. Example:
- *     @code
- *       array(
- *         'Full HTML' => array(
- *           0 => array(
- *             'tip' => 'Web page addresses and e-mail addresses turn into links automatically.',
- *             'id' => 'filter/2',
- *           ),
- *         ),
- *       );
- *     @endcode
- *   - long: (optional) Whether the passed-in filter tips contain extended
- *     explanations, i.e. intended to be output on the path 'filter/tips'
- *     (TRUE), or are in a short format, i.e. suitable to be displayed below a
- *     form element. Defaults to FALSE.
+ * @param $format
+ *   (optional) A filter format. Defaults to NULL.
  *
- * @see _filter_tips()
- * @ingroup themeable
+ * @return string
+ *   An HTML-formatted string.
+ *
+ * @see filter_menu()
  */
-function theme_filter_tips($variables) {
-  $tips = $variables['tips'];
-  $long = $variables['long'];
+function filter_tips_long($format = NULL) {
+  $tips = (!empty($format)) ? _filter_tips($format->format, TRUE) : _filter_tips(-1, TRUE);
   $output = '';
-
   $multiple = count($tips) > 1;
   if ($multiple) {
     $output = '<h2>' . t('Text Formats') . '</h2>';
@@ -52,11 +35,21 @@ function theme_filter_tips($variables) {
       }
 
       if (count($tiplist) > 0) {
-        $output .= '<ul class="tips">';
+        $items = array();
         foreach ($tiplist as $tip) {
-          $output .= '<li' . ($long ? ' class="filter-' . str_replace("/", "-", $tip['id']) . '">' : '>') . $tip['tip'] . '</li>';
+          $items[] = array(
+            '#markup' => $tip['tip'],
+            '#wrapper_attributes' => array(
+              'class' => array(drupal_html_class('filter-' . $tip['id'])),
+            ),
+          );
         }
-        $output .= '</ul>';
+        $build = array(
+          '#theme' => 'item_list',
+          '#items' => $items,
+          '#attributes' => array('class' => array('tips'))
+        );
+        $output .= drupal_render($build);
       }
 
       if ($multiple) {
