diff --git a/modules/filter/filter.module b/modules/filter/filter.module
index 66fadcba74f2d8650c4da08f76929ef9d0feb7e8..27ae02cf3f684b2ceb0e8c34d275f681d45424af 100644
--- a/modules/filter/filter.module
+++ b/modules/filter/filter.module
@@ -671,7 +671,8 @@ function filter_list_format($format_id) {
 
   if (!isset($filters[$format_id])) {
     $format_filters = array();
-    foreach ($filters['all'][$format_id] as $name => $filter) {
+    $filter_map = isset($filters['all'][$format_id]) ? $filters['all'][$format_id] : array();
+    foreach ($filter_map as $name => $filter) {
       if (isset($filter_info[$name])) {
         $filter->title = $filter_info[$name]['title'];
         // Unpack stored filter settings.