RemoveProp should be called. Index: dlls/comctl32/commctrl.c =================================================================== RCS file: /home/wine/wine/dlls/comctl32/commctrl.c,v retrieving revision 1.57 diff -u -r1.57 commctrl.c --- dlls/comctl32/commctrl.c 3 Oct 2002 23:01:01 -0000 1.57 +++ dlls/comctl32/commctrl.c 15 Oct 2002 09:19:06 -0000 @@ -1168,9 +1168,10 @@ else SetWindowLongA (hWnd, GWL_WNDPROC, (LONG)stack->origproc); HeapFree (GetProcessHeap (), 0, stack); + RemovePropA( hWnd, COMCTL32_aSubclass ); return TRUE; } for (n = stack->stacknum + stack->stacknew - 1; n >= 0; n--) if ((stack->SubclassProcs[n].id == uID) && (stack->SubclassProcs[n].subproc == pfnSubclass)) { @@ -1254,6 +1255,7 @@ else SetWindowLongA (hWnd, GWL_WNDPROC, (LONG)stack->origproc); HeapFree (GetProcessHeap (), 0, stack); + RemovePropA( hWnd, COMCTL32_aSubclass ); return TRUE; }