diff --git a/hugolib/shortcode.go b/hugolib/shortcode.go index e65a85989..c49418b85 100644 --- a/hugolib/shortcode.go +++ b/hugolib/shortcode.go @@ -343,9 +343,14 @@ Loop: if tmpl == nil { return sc, fmt.Errorf("Unable to locate template for shortcode '%s' in page %s", sc.name, p.BaseFileName()) } + + // TODO(bep) Refactor/rename this lock strategy + isInnerShortcodeCache.Lock() if tmpl.Tree == nil { + isInnerShortcodeCache.Unlock() return sc, fmt.Errorf("Template for shortcode '%s' failed to compile for page '%s'", sc.name, p.BaseFileName()) } + isInnerShortcodeCache.Unlock() isInner = isInnerShortcode(tmpl) case tScParam: