diff --git a/lib/node-http-proxy/proxy-table.js b/lib/node-http-proxy/proxy-table.js
index 4ab6690ee63eb564fba8f9bffba9e12d17e1ea09..d93f082f46a91723e1ef2d2456f282776196e87a 100644
--- a/lib/node-http-proxy/proxy-table.js
+++ b/lib/node-http-proxy/proxy-table.js
@@ -138,14 +138,12 @@ ProxyTable.prototype.getProxyLocation = function (req) {
       var route = this.routes[i];
       if (target.match(route.route)) {
         
-        var segments = route.path.split('/');
+        var pathSegments = route.path.split('/');
         
-        if (segments.length > 0) {
-          var lastSegment = new RegExp("/" + segments[segments.length - 1] + "$");
-          
-          if(req.url.match(lastSegment)) {
-            req.url = req.url.replace(lastSegment, '/');
-          }          
+        if (pathSegments.length > 0) {
+          // don't include the proxytable path segments in the proxied request url
+          pathSegments = new RegExp("/" + pathSegments.slice(1).join('/'));
+          req.url = req.url.replace(pathSegments, '');
         }
         
         var location = route.target.split(':'),