diff --git a/libasn1compiler/asn1c_fdeps.c b/libasn1compiler/asn1c_fdeps.c
index 231a47c..1ecc313 100644
--- a/libasn1compiler/asn1c_fdeps.c
+++ b/libasn1compiler/asn1c_fdeps.c
@@ -140,6 +140,16 @@
 	return d;
 }
 
+static void
+asn1c_free_dep(asn1c_fdeps_t *d) {
+
+	if(d) {
+		if(d->filename) free(d->filename);
+		d->filename = 0;
+		free(d);
+	}
+}
+
 static int
 asn1c_dep_add(asn1c_fdeps_t *deps, asn1c_fdeps_t *d) {
 	int n;
@@ -180,7 +190,9 @@
 	if(deps->filename && deps->usage != FDEP_NOTUSED) {
 		d = asn1c_new_dep(deps->filename);
 		d->usage = deps->usage;
-		asn1c_dep_add(dlist, d);
+		if(!asn1c_dep_add(dlist, d)) {
+			asn1c_free_dep(d);
+		}
 	}
 
 	for(i = 0; i < deps->el_count; i++) {
@@ -188,10 +200,28 @@
 		d = asn1c_deps_makelist(deps->elements[i]);
 		assert(!d->filename);
 		for(j = 0; j < d->el_count; j++) {
-			asn1c_dep_add(dlist, d->elements[j]);
+			if(asn1c_dep_add(dlist, d->elements[j])) {
+				d->elements[j] = 0;
+			}
 		}
+		asn1c_deps_freelist(d);
 	}
 
 	return dlist;
 }
 
+void
+asn1c_deps_freelist(asn1c_fdeps_t *deps) {
+	if(deps) {
+		int i;
+		if(deps->elements) {
+			for(i = 0; i < deps->el_count; i++) {
+				asn1c_deps_freelist(deps->elements[i]);
+				deps->elements[i] = 0;
+			}
+			free(deps->elements);
+			deps->elements = 0;			
+		}
+		asn1c_free_dep(deps);
+	}
+}
diff --git a/libasn1compiler/asn1c_fdeps.h b/libasn1compiler/asn1c_fdeps.h
index 7986e34..cb5b12c 100644
--- a/libasn1compiler/asn1c_fdeps.h
+++ b/libasn1compiler/asn1c_fdeps.h
@@ -25,5 +25,6 @@
 	const char *data);
 
 asn1c_fdeps_t *asn1c_deps_makelist(asn1c_fdeps_t *deps);
+void asn1c_deps_freelist(asn1c_fdeps_t *deps);
 
 #endif	/* ASN1C_FDEPS_H */
diff --git a/libasn1compiler/asn1c_save.c b/libasn1compiler/asn1c_save.c
index f8348cc..4a422b5 100644
--- a/libasn1compiler/asn1c_save.c
+++ b/libasn1compiler/asn1c_save.c
@@ -149,6 +149,9 @@
 			safe_fprintf(mkf, "ASN_%s_%s+=%s\n",
 				what_class, what_kind, fname);
 		}
+
+		asn1c_deps_freelist(deps);
+		asn1c_deps_freelist(dlist);
 	}
 
 	if(need_to_generate_pdu_collection(arg)) {
