diff --git a/ChangeLog b/ChangeLog
index 4f059baa1..1804037f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-02-04  Mikael Magnusson  <mikachu@gmail.com>
+
+	* 52516: Src/prompt.c: fix crash in %H when hlgroups is empty
+
 2024-02-03  Bart Schaefer  <schaefer@zsh.org>
 
 	* unposted: Util/printdefines: updates and fix omissions
diff --git a/Src/prompt.c b/Src/prompt.c
index ec79067cd..b1e5041bd 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -257,7 +257,7 @@ parsehighlight(char *arg, char endchar, zattr *atr)
     {
 	Param node;
 	HashTable ht = v->pm->gsu.h->getfn(v->pm);
-	if ((node = (Param) ht->getnode(ht, arg))) {
+	if (ht && (node = (Param) ht->getnode(ht, arg))) {
 	    attrs = node->gsu.s->getfn(node);
 	    entered = 1;
 	    if (match_highlight(attrs, atr, 0) == attrs)