diff --git a/swarm/api/http/server_test.go b/swarm/api/http/server_test.go
index 3ac60596b5deb9eb27063550654b565911d03383..7934e37eba310ad06b8f657b0777d64b1ec8377d 100644
--- a/swarm/api/http/server_test.go
+++ b/swarm/api/http/server_test.go
@@ -576,7 +576,7 @@ func testBzzGetPath(encrypted bool, t *testing.T) {
 			pageFragments: []string{
 				fmt.Sprintf("Swarm index of bzz:/%s/a/", ref),
 				`<a class="normal-link" href="b/">b/</a>`,
-				`<a class="normal-link" href="a">a</a>`,
+				fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/a">a</a>`, ref),
 			},
 		},
 		{
@@ -584,8 +584,8 @@ func testBzzGetPath(encrypted bool, t *testing.T) {
 			json: `{"entries":[{"hash":"011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce","path":"a/b/b","mod_time":"0001-01-01T00:00:00Z"},{"hash":"011b4d03dd8c01f1049143cf9c4c817e4b167f1d1b83e5c6f0f10d89ba1e7bce","path":"a/b/c","mod_time":"0001-01-01T00:00:00Z"}]}`,
 			pageFragments: []string{
 				fmt.Sprintf("Swarm index of bzz:/%s/a/b/", ref),
-				`<a class="normal-link" href="b">b</a>`,
-				`<a class="normal-link" href="c">c</a>`,
+				fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/b/b">b</a>`, ref),
+				fmt.Sprintf(`<a class="normal-link" href="/bzz:/%s/a/b/c">c</a>`, ref),
 			},
 		},
 		{
diff --git a/swarm/api/http/templates.go b/swarm/api/http/templates.go
index 1cd42ca3714a3524852b07751dd09748c8876fc1..986f5f8873d34e45d99d8073d35dc933dc344e16 100644
--- a/swarm/api/http/templates.go
+++ b/swarm/api/http/templates.go
@@ -18,6 +18,7 @@ package http
 
 import (
 	"encoding/hex"
+	"fmt"
 	"html/template"
 	"path"
 
@@ -45,7 +46,10 @@ func init() {
 		{
 			templateName: "bzz-list",
 			partial:      bzzList,
-			funcs:        template.FuncMap{"basename": path.Base},
+			funcs: template.FuncMap{
+				"basename": path.Base,
+				"leaflink": leafLink,
+			},
 		},
 		{
 			templateName: "landing-page",
@@ -62,6 +66,10 @@ func init() {
 	faviconBytes = bytes
 }
 
+func leafLink(URI api.URI, manifestEntry api.ManifestEntry) string {
+	return fmt.Sprintf("/bzz:/%s/%s", URI.Addr, manifestEntry.Path)
+}
+
 const bzzList = `{{ define "content" }}
 <h3 class="top-space">Swarm index of {{ .URI }}</h3>
 <hr>
@@ -83,10 +91,11 @@ const bzzList = `{{ define "content" }}
       <td>DIR</td>
       <td>-</td>
     </tr>
-    {{ end }} {{ range .List.Entries }}
+    {{ end }}
+    {{ range .List.Entries }}
     <tr>
       <td>
-        <a class="normal-link" href="{{ basename .Path }}">{{ basename .Path }}</a>
+        <a class="normal-link" href="{{ leaflink $.URI . }}">{{ basename .Path }}</a>
       </td>
       <td>{{ .ContentType }}</td>
       <td>{{ .Size }}</td>