diff --git a/main.c b/main.c
index 4922021..2752242 100644
--- a/main.c
+++ b/main.c
@@ -410,7 +410,7 @@ ULONG __stdcall ddraw_Release(IDirectDrawImpl *This)
 
         /* restore old wndproc, subsequent ddraw creation will otherwise fail */
         SetWindowLong(This->hWnd, GWL_WNDPROC, (LONG)This->WndProc);
-        //free(This);
+        HeapFree(GetProcessHeap(), 0, This);
         ddraw = NULL;
         return 0;
     }
diff --git a/surface.c b/surface.c
index 76ad6ae..fa83979 100644
--- a/surface.c
+++ b/surface.c
@@ -58,7 +58,7 @@ ULONG __stdcall ddraw_surface_Release(IDirectDrawSurfaceImpl *This)
         {
             IDirectDrawPalette_Release(This->palette);
         }
-        //free(This);
+        HeapFree(GetProcessHeap(), 0, This);
         return 0;
     }
     return This->Ref;