diff --git a/src/cats_strings/cats_strings.c b/src/cats_strings/cats_strings.c
index ecb970c35b676c9a2a09284692dae553b3adaeb5..4572f1d24e2b6ab415ee8a47bc93d82799419306 100644
--- a/src/cats_strings/cats_strings.c
+++ b/src/cats_strings/cats_strings.c
@@ -160,7 +160,7 @@ struct string_array *copy_string_array(const struct string_array *src)
 
 void free_string_array(struct string_array **array)
 {
-        if (array == NULL) return;
+        if (array == NULL || *array == NULL) return;
 
         struct string_array *this = *array;
         DBG_STRING(log_message(LOG_RAW, "%s: address:        %p\n", __func__, this);)