diff --git a/src/model.zig b/src/model.zig
index 42f2a78cc291a4c2da9f104124cdfc34e29446ec..5d611ba6fbe4e8c1e94aa3ea7082aa3cc406cf56 100644
--- a/src/model.zig
+++ b/src/model.zig
@@ -249,7 +249,7 @@ pub const Dir = packed struct {
 
         var i: usize = components.items.len-1;
         while (true) {
-            if (i != components.items.len-1) out.append('/') catch unreachable;
+            if (i != components.items.len-1 and !(out.items.len != 0 and out.items[out.items.len-1] == '/')) out.append('/') catch unreachable;
             out.appendSlice(components.items[i]) catch unreachable;
             if (i == 0) break;
             i -= 1;