diff --git a/lib/zip_source_file_win32_utf16.c b/lib/zip_source_file_win32_utf16.c
index 87f1313..a225d1c 100644
--- a/lib/zip_source_file_win32_utf16.c
+++ b/lib/zip_source_file_win32_utf16.c
@@ -94,7 +94,7 @@
     
     return CreateFile2((const wchar_t *)name, access, share_mode, creation_disposition, &extParams);
 #else
-    wprintf(L"CreateFileW(\"%s\", %d, %d, %d, %p, %d)\n", (const wchar_t *)name, (int)access, (int)share_mode, (int)creation_disposition, security_attributes, (int)file_attributes);
+    // wprintf(L"CreateFileW(\"%s\", %d, %d, %d, %p, %d)\n", (const wchar_t *)name, (int)access, (int)share_mode, (int)creation_disposition, security_attributes, (int)file_attributes);
     return CreateFileW((const wchar_t *)name, access, share_mode, security_attributes, creation_disposition, file_attributes, template_file);
 #endif
 }
@@ -119,7 +119,7 @@
 
 static BOOL
 utf16_move_file(const char *from, const char *to, DWORD flags) {
-    wprintf(L"MoveFileExW(\"%s\", \"%s\", %d)\n", (const wchar_t *)from, (const wchar_t *)to, (int)flags);
+    // wprintf(L"MoveFileExW(\"%s\", \"%s\", %d)\n", (const wchar_t *)from, (const wchar_t *)to, (int)flags);
     return MoveFileExW((const wchar_t *)from, (const wchar_t *)to, flags);
 }
 
diff --git a/lib/zip_source_file_win32_write.c b/lib/zip_source_file_win32_write.c
index fa2f71e..c19ec92 100644
--- a/lib/zip_source_file_win32_write.c
+++ b/lib/zip_source_file_win32_write.c
@@ -194,12 +194,18 @@
 static bool
 _zip_win32_write_op_stat(zip_source_file_context_t *ctx, zip_source_file_stat_t *st) {
     HANDLE h = win32_write_open(ctx, ctx->fname, false, NULL);
+    bool ok;
     
     if (h == INVALID_HANDLE_VALUE) {
+        printf("open in stat failed\n");
         return false;
     }
 
-    return _zip_stat_win32(ctx, st, h);
+    ok = _zip_stat_win32(ctx, st, h);
+    
+    CloseHandle(h);
+    
+    return ok;
 }
 
 
