diff --git a/webconsole/src/main/resources/res/ui/events.js b/webconsole/src/main/resources/res/ui/events.js
index b2dd3f2..0941314 100644
--- a/webconsole/src/main/resources/res/ui/events.js
+++ b/webconsole/src/main/resources/res/ui/events.js
@@ -75,16 +75,22 @@
     parent.appendChild( td( null, null, [ text( new Date(dataEntry.received) ) ] ) );
     parent.appendChild( td( null, null, [ text( topic ) ] ) );
 
-    var tableE = createElement("table");
-    var bodyE = createElement("tbody");
-    tableE.appendChild(bodyE);
-
-    for( var p in dataEntry.properties ) {
-    	bodyE.appendChild(tr(null, null, [td(null, null, [text(p)] ),
-    	                                  td(null, null, [text(dataEntry.properties[p])])]));
+    var propE;
+    if ( dataEntry.info ) {
+    	propE = text(dataEntry.info);
+    } else {
+	    var tableE = createElement("table");
+	    var bodyE = createElement("tbody");
+	    tableE.appendChild(bodyE);
+	
+	    for( var p in dataEntry.properties ) {
+	    	bodyE.appendChild(tr(null, null, [td(null, null, [text(p)] ),
+	    	                                  td(null, null, [text(dataEntry.properties[p])])]));
+	    }
+	    propE = tableE;
     }
     
-    parent.appendChild( td( null, null, [tableE] ) );
+    parent.appendChild( td( null, null, [propE] ) );
 }
 
 function loadData() {
