diff --git a/sys/net/ccn_lite/util/ccn-lite-ctrl.c b/sys/net/ccn_lite/util/ccn-lite-ctrl.c
index 88aa7333c845e11e2117bcd39f84f3633cc04f99..115cb14ec19ca02746b7765f515be7e27da82003 100644
--- a/sys/net/ccn_lite/util/ccn-lite-ctrl.c
+++ b/sys/net/ccn_lite/util/ccn-lite-ctrl.c
@@ -47,6 +47,7 @@ mkNewFaceRequest(unsigned char *out, char *macsrc, char *ip4src,
 
     unsigned char *faceinst = malloc(500);
     if (!faceinst) {
+        free(contentobj);
         puts("mkNewFaceRequest: malloc failed");
         return 0;
     }
@@ -123,7 +124,8 @@ mkPrefixregRequest(unsigned char *out, char reg, char *path, char *faceid)
     }
 
     unsigned char *fwdentry = malloc(500);
-    if (!contentobj) {
+    if (!fwdentry) {
+        free(contentobj);
         puts("mkNewFaceRequest: malloc failed");
         return 0;
     }