diff --git a/lib/collection/proxy-config.js b/lib/collection/proxy-config.js
index <HASH>..<HASH> 100644
--- a/lib/collection/proxy-config.js
+++ b/lib/collection/proxy-config.js
@@ -104,13 +104,19 @@ _.assign(ProxyConfig.prototype, /** @lends ProxyConfig.prototype */ {
      * @param {ProxyConfig~definition} options The proxy object structure.
      */
     update: function (options) {
+        var parsedUrl,
+            port = _.get(options, 'port') >> 0;
+
         if (!_.isObject(options)) {
             return;
         }
 
-        var port = options.port >> 0;
+        if (_.isString(options.host)) {
+            parsedUrl = url.parse(options.host);
+            // we want to strip the protocol, but if protocol is not present then parsedUrl.hostname will be null
+            this.host = parsedUrl.protocol ? parsedUrl.hostname : options.host;
+        }
 
-        _.isString(options.host) && (this.host = url.parse(options.host).hostname);
         _.isString(options.match) && (this.match = new UrlMatchPattern(options.match));
         port && (this.port = port);
         _.isBoolean(options.tunnel) && (this.tunnel = options.tunnel);
Fix ProxyConfig for cases when host is a string without any protocol