diff --git a/layouts/shortcodes/value.html b/layouts/shortcodes/value.html
index 8d35d0b..ad30c06 100644
--- a/layouts/shortcodes/value.html
+++ b/layouts/shortcodes/value.html
@@ -6,7 +6,9 @@
{{- if not $key }}
{{- errorf "missing parameter 'key': %s" .Position }}
{{- end }}
-{{- $value := index $.Site.Data.values $section $key }}
+{{- $page := index (default dict (index (default dict (index $.Page.Params "values")) $section)) $key }}
+{{- $site := index (default dict (index $.Site.Data.values $section)) $key }}
+{{- $value := default $site $page }}
{{- if not $value }}
{{- errorf "missing, empty or null value at 'values/%s.%s': %s" $section $key .Position }}
{{- end }}