diff --git a/sexp.c b/sexp.c
index 1099282191be8a0d6a4e0f7f7d26b86da00d1ca0..b1dfd2e03db8ba24bb8d357342c009b007c45a76 100644
--- a/sexp.c
+++ b/sexp.c
@@ -303,7 +303,7 @@ sexp_iterator_check_type(struct sexp_iterator *iterator,
 const uint8_t *
 sexp_iterator_check_types(struct sexp_iterator *iterator,
 			  unsigned ntypes,
-			  const uint8_t **types)
+			  const uint8_t * const *types)
 {
   if (sexp_iterator_enter_list(iterator)
       && iterator->type == SEXP_ATOM
@@ -322,7 +322,7 @@ sexp_iterator_check_types(struct sexp_iterator *iterator,
 int
 sexp_iterator_assoc(struct sexp_iterator *iterator,
 		    unsigned nkeys,
-		    const uint8_t **keys,
+		    const uint8_t * const *keys,
 		    struct sexp_iterator *values)
 {
   TMP_DECL(found, int, NETTLE_MAX_SEXP_ASSOC);
diff --git a/sexp.h b/sexp.h
index 40d4fda30e581e8dae9744a530f4c2406143d5a0..e85475924bf1b2bfeab60cfa9326fadfc57bd9ac 100644
--- a/sexp.h
+++ b/sexp.h
@@ -124,7 +124,7 @@ sexp_iterator_check_type(struct sexp_iterator *iterator,
 const uint8_t *
 sexp_iterator_check_types(struct sexp_iterator *iterator,
 			  unsigned ntypes,
-			  const uint8_t **types);
+			  const uint8_t * const *types);
 
 /* Current element must be a list. Looks up element of type
  *
@@ -138,7 +138,7 @@ sexp_iterator_check_types(struct sexp_iterator *iterator,
 int
 sexp_iterator_assoc(struct sexp_iterator *iterator,
 		    unsigned nkeys,
-		    const uint8_t **keys,
+		    const uint8_t * const *keys,
 		    struct sexp_iterator *values);