diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java
index 7b44754..3812e18 100644
--- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java
+++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java
@@ -114,14 +114,14 @@
 				throw new ConnectionExistsException(newName);
 			}
 
-			Preferences newPrefs = connectionType.getPreferenceNode().node(newName);
+			Preferences newPrefs = connectionType.getPreferenceNode().node(URLEncoder.encode(newName, "UTF-8"));
 			Preferences oldPrefs = getPreferences();
 			for (String key : oldPrefs.keys()) {
 				newPrefs.put(key, oldPrefs.get(key, null));
 			}
 
 			oldPrefs.removeNode();
-		} catch (BackingStoreException e) {
+		} catch (BackingStoreException | UnsupportedEncodingException e) {
 			RemoteCorePlugin.log(e);
 		}
 
diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java
index c7cde9b..94f44aa 100644
--- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java
+++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java
@@ -10,7 +10,10 @@
  *******************************************************************************/
 package org.eclipse.remote.internal.core;
 
+import java.io.UnsupportedEncodingException;
 import java.net.URI;
+import java.net.URLDecoder;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -68,10 +71,11 @@
 		
 		// load up existing connections
 		try {
-			for (String connectionName : getPreferenceNode().childrenNames()) {
+			for (String nodeName : getPreferenceNode().childrenNames()) {
+				String connectionName = URLDecoder.decode(nodeName, "UTF-8");
 				connections.put(connectionName, new RemoteConnection(this, connectionName));
 			}
-		} catch (BackingStoreException e) {
+		} catch (BackingStoreException | UnsupportedEncodingException e) {
 			RemoteCorePlugin.log(e);
 		}
 	}
