There's a small bug in the dxHeightfieldData() destructor. It attempts to free the sample data by deleting a void pointer. AFAIK it needs to be typecast to the correct type, otherwise the behavior is undefined (although it compiles/runs fine on VC++2005), correct? Thanks Bram for this one. Martijn