Hello, If this is your program... ############################### use Win32::GUI; use threads; $W = new GUI::Window( -title => "Window", -left => 100, -top => 100, -width => 550, -height => 300, -name => "Window", ) or print_and_die("new Window"); sub test { threads->yield(); sleep(1); } $thread = threads->new(\&test); $W->Show; Win32::GUI::Dialog(); $thread->join(); ################################ ...it crashes rather nastily. (Windows crash popup) And you get the following perl error message: 'Free to wrong pool 1a415d0 not 224ce8 at C:/Perl/site/lib/Win32/GUI.pm line 3158 during global destruction.' It does not crash if you either: 1. comment out the Window creation (Which makes sense as line 3158 is a Win32::GUI::DestroyWindow statement) 2.comment out the $thread->join()... (?) Still this seems to be the way to go, what am I missing? I'm using ActivePerl 5.8.4 Frans