diff --git a/d2renderers/d2svg/appendix/appendix.go b/d2renderers/d2svg/appendix/appendix.go
index d5137c37f..97b025785 100644
--- a/d2renderers/d2svg/appendix/appendix.go
+++ b/d2renderers/d2svg/appendix/appendix.go
@@ -189,7 +189,7 @@ func Append(diagram *d2target.Diagram, ruler *textmeasure.Ruler, in []byte) []by
if icon.isTooltip {
iconStr = fmt.Sprintf(d2svg.TooltipIcon, diagramHash, svglib.SVGID(icon.shape.ID))
} else {
- iconStr = d2svg.LinkIcon
+ iconStr = fmt.Sprintf(d2svg.LinkIcon, diagramHash, svglib.SVGID(icon.shape.ID))
}
svg = strings.Replace(svg, iconStr, generateNumberedIcon(icon.number, 0, ICON_RADIUS), 1)
}
diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go
index 40e050459..d7c3a0c2d 100644
--- a/d2renderers/d2svg/d2svg.go
+++ b/d2renderers/d2svg/d2svg.go
@@ -1531,7 +1531,7 @@ func addAppendixItems(writer io.Writer, diagramHash string, targetShape d2target
fmt.Fprintf(writer, `%s`,
x-appendixIconRadius,
y-appendixIconRadius,
- LinkIcon,
+ fmt.Sprintf(LinkIcon, diagramHash, svg.SVGID(targetShape.ID)),
)
}
}
diff --git a/d2renderers/d2svg/link.svg b/d2renderers/d2svg/link.svg
index ff5bc3fb1..543917a63 100644
--- a/d2renderers/d2svg/link.svg
+++ b/d2renderers/d2svg/link.svg
@@ -1,11 +1,11 @@