diff --git a/qt-faststart.c b/qt-faststart.c
index 535dde36550f677f43f16e818630a0cd6f5f00a0..2fc5a161ccd3a20ef38a00d9f1a623af161a8c47 100644
--- a/qt-faststart.c
+++ b/qt-faststart.c
@@ -288,6 +288,8 @@ int main(int argc, char *argv[])
     fclose(infile);
     fclose(outfile);
     free(moov_atom);
+    if (ftyp_atom_size > 0)
+        free(ftyp_atom);
 
     return 0;
 
@@ -295,5 +297,7 @@ error_out:
     fclose(infile);
     fclose(outfile);
     free(moov_atom);
+    if (ftyp_atom_size > 0)
+        free(ftyp_atom);
     return 1;
 }