diff --git a/keyimport.c b/keyimport.c
index 589b9cb1420c54eea60364b7540132f948553dcb..a0474f350e7897f31c3de372707f4c1455d5b690 100644
--- a/keyimport.c
+++ b/keyimport.c
@@ -173,6 +173,8 @@ static int dropbear_write(const char*filename, sign_key * key) {
 		buf_incrpos(buf, len);
 	} while (len > 0 && buf->len != buf->pos);
 
+	fclose(fp);
+
 	if (buf->pos != buf->len) {
 		ret = 0;
 	} else {