diff --git a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
index 2241930..a2351f8 100644
--- a/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
+++ b/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java
@@ -852,13 +852,8 @@
     {
         StringBuffer val = new StringBuffer();
         boolean bootDel = isBootDelegated( name );
-        boolean isSpan = bootDel || export == null;
 
-        if ( isSpan )
-        {
-            val.append( "!! " );
-        }
-
+        String marker = null;
         val.append( name );
         val.append( ",version=" ).append( version );
         val.append( " from " );
@@ -870,11 +865,13 @@
             if ( bootDel )
             {
                 val.append( " -- Overwritten by Boot Delegation" );
+                marker = "INFO";
             }
         }
         else
         {
             val.append( " -- Cannot be resolved" );
+            marker = "ERROR";
 
             if ( optional )
             {
@@ -887,6 +884,11 @@
             }
         }
 
+        if ( marker != null ) {
+            val.insert(0, ": ");
+            val.insert(0, marker);
+        }
+
         array.put(val);
     }
 
diff --git a/webconsole/src/main/resources/res/ui/bundles.js b/webconsole/src/main/resources/res/ui/bundles.js
index 75ec6dd..0bebc67 100644
--- a/webconsole/src/main/resources/res/ui/bundles.js
+++ b/webconsole/src/main/resources/res/ui/bundles.js
@@ -181,8 +181,10 @@
 	        			var value = prop.value[pi];
 		                if (i > 0) { txt = txt + "<br/>"; }
 		                var span;
-		                if (value.substring(0, 2) == "!!") {
-		                	txt = txt + "<span style='color: red;'>" + value + "</span>";
+		                if (value.substring(0, 6) == "INFO: ") {
+		                	txt = txt + "<span style='color: grey;'>!!" + value.substring(5) + "</span>";
+		                } else if (value.substring(0, 7) == "ERROR: ") {
+		                	txt = txt + "<span style='color: red;'>!!" + value.substring(6) + "</span>";
 		                } else {
 		                	txt = txt + value;
 		                }
