diff --git a/hugolib/page.go b/hugolib/page.go
index 16c320ecd..f71c4d9b8 100644
--- a/hugolib/page.go
+++ b/hugolib/page.go
@@ -141,7 +141,7 @@ func (p *pageState) GetTerms(taxonomy string) page.Pages {
if p.IsHome() {
// TODO(bep) make this less magical, see taxonomyEntries.Insert.
self = "/" + page.KindHome
- } else {
+ } else if p.treeRef != nil {
self = p.treeRef.key
}
diff --git a/hugolib/taxonomy_test.go b/hugolib/taxonomy_test.go
index f8dca6a1f..f37e37b89 100644
--- a/hugolib/taxonomy_test.go
+++ b/hugolib/taxonomy_test.go
@@ -625,7 +625,9 @@ Category Paginator {{ range $categories.Paginator.Pages }}{{ .RelPermalink }}|{{
Cats Paginator {{ range $cats.Paginator.Pages }}{{ .RelPermalink }}|{{ end }}:END
`)
-
+ b.WithTemplatesAdded("404.html", `
+404 Terms: {{ range .GetTerms "categories" }}{{.RelPermalink }}|{{ end }}:END
+ `)
b.Build(BuildCfg{})
cat := b.GetPage("categories")
@@ -647,7 +649,7 @@ Home Terms: /categories/dogs/|/categories/gorillas/|:END
Cats Paginator /section/p1/|/section/|:END
Category Paginator /categories/birds/|/categories/cats/|/categories/dogs/|/categories/funny/|/categories/gorillas/|:END
`)
-
+ b.AssertFileContent("public/404.html", "\n404 Terms: :END\n\t")
b.AssertFileContent("public/categories/funny/index.xml", `http://example.com/section/p1/`)
b.AssertFileContent("public/categories/index.xml", `http://example.com/categories/funny/`)