diff --git a/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java b/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
index 6dcb384..f96650d 100644
--- a/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
+++ b/src/main/java/org/apache/ws/scout/registry/ConnectionImpl.java
@@ -90,13 +90,21 @@
                 try {
                     manager = new UDDIClerkManager(uddiConfig, properties);
                     manager.start();
-                    nodeName = manager.getClientConfig().getHomeNode().getName();
-                    managerName = manager.getName();
                 } catch (ConfigurationException e) {
                     log.error(e.getMessage(),e);
                 }
             }
-        	registry = new RegistryV3Impl(properties, nodeName, managerName);
+            try {
+                nodeName = manager.getClientConfig().getHomeNode().getName();
+            } catch (ConfigurationException e) {
+                log.error(e.getMessage(),e);
+            }
+            managerName = manager.getName();
+            if (managerName != null) {
+                registry = new RegistryV3Impl(properties, nodeName, managerName);
+            } else {
+                registry = new RegistryImpl(properties);
+            }
         } else {
             registry = new RegistryImpl(properties);           	
         }
