diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
index d7453ea..5e240e0 100644
--- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
+++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/ProxyManager.java
@@ -318,10 +318,13 @@
 	}
 
 	private boolean isHostFiltered(URI uri) {
-		String[] filters = getNonProxiedHosts();
-		for (String filter : filters) {
-			if (StringUtil.hostMatchesFilter(uri.getHost(), filter))
-				return true;
+		String host = uri.getHost();
+		if (host != null) {
+			String[] filters = getNonProxiedHosts();
+			for (String filter : filters) {
+				if (StringUtil.hostMatchesFilter(host, filter))
+					return true;
+			}
 		}
 		return false;
 	}
@@ -422,9 +425,12 @@
 
 	@Override
 	public IProxyData[] select(URI uri) {
-		IProxyData data = getProxyDataForHost(uri.getHost(), uri.getScheme());
-		if (data != null) {
-			return resolveType(new IProxyData[] { data });
+		String host = uri.getHost();
+		if (host != null) {
+			IProxyData data = getProxyDataForHost(host, uri.getScheme());
+			if (data != null) {
+				return resolveType(new IProxyData[] { data });
+			}
 		}
 		return new IProxyData[0];
 	}
