diff --git a/slime/contrib/slime-compiler-notes-tree.el b/slime/contrib/slime-compiler-notes-tree.el
--- a/slime/contrib/slime-compiler-notes-tree.el
+++ b/slime/contrib/slime-compiler-notes-tree.el
@@ -48,12 +48,24 @@
                    :kids (mapcar #'slime-tree-for-note notes)
                    :collapsed-p collapsed-p))
 
+(defvar slime-tree-collapsed-severity-list '(:error :read-error :warning :style-warning :note)
+  "Is used during creation of the tree to decide whether the current
+note is created in collapsed, or expanded state. By default, all nodes
+are collapsed. The severity values are defined in swank-backend.lisp:
+
+(deftype severity () 
+  '(member :error :read-error :warning :style-warning :note))
+")
+
 (defun slime-compiler-notes-to-tree (notes)
-  (let* ((alist (slime-alistify notes #'slime-note.severity #'eq))
-         (collapsed-p (slime-length> alist 1)))
+  "Iterate the notes and create an entry which is created in collapsed state
+(with a + sign to expand it) if the severity is one of the elements of
+slime-tree-collapsed-severity-list."
+  (let* ((alist (slime-alistify notes #'slime-note.severity #'eq)))
     (loop for (severity . notes) in alist
-          collect (slime-tree-for-severity severity notes 
-                                           collapsed-p))))
+         for collapsed-p = (member severity slime-tree-collapsed-severity-list)
+       collect (slime-tree-for-severity severity notes 
+                                        collapsed-p))))
 
 (defvar slime-compiler-notes-mode-map)
 
