diff --git a/dlls/setupapi/queue.c b/dlls/setupapi/queue.c
index e1f10af82900dc757867891b00ea26c0e39d99b1..b40f3047a04cdf48196be9901dd3ad1e557d3687 100644
--- a/dlls/setupapi/queue.c
+++ b/dlls/setupapi/queue.c
@@ -1036,9 +1036,9 @@ BOOL static do_file_copyW( LPCWSTR source, LPCWSTR target, DWORD style)
                         docopy = FALSE;
                     }
                 }
-                HeapFree(GetProcessHeap(),0,VersionSource);
-                HeapFree(GetProcessHeap(),0,VersionTarget);
             }
+            HeapFree(GetProcessHeap(),0,VersionSource);
+            HeapFree(GetProcessHeap(),0,VersionTarget);
         }
     }
     if (style & (SP_COPY_NOOVERWRITE | SP_COPY_FORCE_NOOVERWRITE))