diff --git a/upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java b/upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
index d3f30a4..acdb7e7 100644
--- a/upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
+++ b/upnp.tester/src/main/java/org/apache/felix/upnp/tester/ControlPoint.java
@@ -56,7 +56,6 @@
 * @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
 */
 public class ControlPoint implements PopupMenuListener {
-	RootDeviceListener x;
 	RootDeviceListener listener;
 	TreeViewer viewer;
 	PropertiesViewer properties;
@@ -92,7 +91,6 @@
 		doControlPanel();
         Mediator.setControlPoint(this);
         Mediator.setMainFrame(frame);
-        Mediator.setRootDeviceListener(listener);
 		listener = new RootDeviceListener();
         Mediator.setRootDeviceListener(listener);
 		listener.setDeviceNodeListener(viewer);
diff --git a/upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java b/upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java
index 757852c..56fb62a 100644
--- a/upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java
+++ b/upnp.tester/src/main/java/org/apache/felix/upnp/tester/gui/PropertiesViewer.java
@@ -183,10 +183,7 @@
     */
     
     public void setData(String[]names,String[]values){
-        String[] lowerNames = new String[names.length];
-        for (int i=0;i<names.length;i++)
-            lowerNames[i]= names[i].toLowerCase();
-    	this.names=lowerNames;
+    	this.names=names;
     	this.values=values;
     	size = names.length;
 		this.fireTableChanged(new TableModelEvent(this));
