diff --git a/src/sig_tesla/sign.c b/src/sig_tesla/sign.c
index c0a0cce2d819ded604fc7268e1a0a7e2ed376d5a..52ae03c95c981188d62601ca65b199d1b4edf10c 100755
--- a/src/sig_tesla/sign.c
+++ b/src/sig_tesla/sign.c
@@ -604,11 +604,14 @@ void tesla_public_key_delete(tesla_public_key_t *public_key)
 }
 
 void tesla_private_and_public_keys_delete(tesla_private_key_t *private_key, tesla_public_key_t *public_key){
-
-    free(private_key->data);
-    private_key->data = NULL;
-    free(public_key->data);
-    public_key->data = NULL;
+    if(private_key) {
+        free(private_key->data);
+        private_key->data = NULL;
+    }
+    if(public_key) {
+        free(public_key->data);
+        public_key->data = NULL;
+    }
 }
 
 /********************************************************************************************/