diff --git a/hgext/largefiles/lfutil.py b/hgext/largefiles/lfutil.py
index 7e5a281a082cdbff4ae9553e01b5ff36dc2c11ee_aGdleHQvbGFyZ2VmaWxlcy9sZnV0aWwucHk=..6a42846cf769027311931d00b099363f0310d73d_aGdleHQvbGFyZ2VmaWxlcy9sZnV0aWwucHk= 100644
--- a/hgext/largefiles/lfutil.py
+++ b/hgext/largefiles/lfutil.py
@@ -303,7 +303,7 @@
     # 2) Join with '/' because that's what dirstate always uses, even on
     #    Windows. Change existing separator to '/' first in case we are
     #    passed filenames from an external source (like the command line).
-    return shortname + '/' + filename.replace(os.sep, '/')
+    return shortname + '/' + util.pconvert(filename)
 
 def isstandin(filename):
     '''Return true if filename is a big file standin. filename must be
@@ -314,7 +314,7 @@
     # Split on / because that's what dirstate always uses, even on Windows.
     # Change local separator to / first just in case we are passed filenames
     # from an external source (like the command line).
-    bits = filename.replace(os.sep, '/').split('/', 1)
+    bits = util.pconvert(filename).split('/', 1)
     if len(bits) == 2 and bits[0] == shortname:
         return bits[1]
     else:
@@ -433,7 +433,7 @@
 
 def unixpath(path):
     '''Return a version of path normalized for use with the lfdirstate.'''
-    return os.path.normpath(path).replace(os.sep, '/')
+    return util.pconvert(os.path.normpath(path))
 
 def islfilesrepo(repo):
     return ('largefiles' in repo.requirements and