diff --git a/src/vistir/path.py b/src/vistir/path.py
index <HASH>..<HASH> 100644
--- a/src/vistir/path.py
+++ b/src/vistir/path.py
@@ -52,6 +52,8 @@ def _encode_path(path):
                 path = getattr(path, "as_posix")
             except AttributeError:
                 raise RuntimeError("Failed encoding path, unknown object type: %r" % path)
+            else:
+                path()
         else:
             path = path()
     path = Path(_decode_path(path))
right, we should actually create the path after we getattr for it