diff --git a/packages/jsio.js b/packages/jsio.js
index <HASH>..<HASH> 100644
--- a/packages/jsio.js
+++ b/packages/jsio.js
@@ -118,8 +118,10 @@
         relative: function (relativeTo, path) {
           var len = relativeTo.length;
           if (path.substring(0, len) == relativeTo) {
+            // if the relative path now starts with a path separator
+            // either (/ or \), remove it
             /* Note: we're casting a boolean to an int by adding len to it */
-            return path.slice((path.charAt(len) == ENV.pathSep) + len);
+            return path.slice(len + /[\/\\]/.test(path.charAt(len)));
           }
 
           var sA = util.removeEndSlash(path).split(ENV.pathSep),
fix (makeRelativePath): strip \ and / when resolving paths

After removing a subpath when resolving a relative path,
look for a path separator (/ or \, regardless of platform), and
remove it if necessary. This prevents mixed paths (eg:
c:\initial\folder/added/path) from being resolved with a leftover / on
the front on systems with \ as the path separator (windows).