diff --git a/src/cats_strings/cats_strings.c b/src/cats_strings/cats_strings.c
index 8bd461aa69640a9cfd45f4feee6750c61f720f3a..a8e7c8e74efb4fd413082496849da5a81e4e836e 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(printf("%s: address:        %p\n", __func__, this);)