diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index 66fd6a5f7c0f37da7788894ff212420c14db5c82..9efe7999145e3b7fca8eef2476c28a3a3ebbd3e2 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -551,15 +551,15 @@ function filter_access($format) {
  * Helper function for fetching filter tips.
  */
 function _filter_tips($format, $long = FALSE) {
-  if ($format == -1) {
-    $formats = filter_formats();
-  }
-  else {
-    $formats = array(db_query("SELECT * FROM {filter_format} WHERE format = :format", array(':format' => $format))->fetchObject());
-  }
+  $formats = filter_formats();
 
   $tips = array();
 
+  // If only listing one format, extract it from the $formats array.
+  if ($format != -1) {
+    $formats = array($formats[$format]);
+  }
+
   foreach ($formats as $format) {
     $filters = filter_list_format($format->format);