diff --git a/c/TextArea b/c/TextArea
index 319ba3eaf6938889e8d1ce8eb13258ab6d04f2f8..323755c429bf14c559643d06e87b92e21655088c 100644
--- a/c/TextArea
+++ b/c/TextArea
@@ -846,8 +846,6 @@ static void _redraw(WimpRedrawWindowRequestEvent *event, PrivateTextArea *tdata)
 }
 
 
-FILE *debug = NULL;
-
 /* textarea_add -----------------------------------------------------------
  */
 _kernel_oserror *
@@ -924,10 +922,7 @@ textarea_add(TextArea *tdata, int wimpw, ObjectId parent_id,
     {
         int f, l, d;
 
-        if(!debug) debug = fopen("adfs::rlougher.$.debug5", "w");
-
         insert_text(tb->text, tdata->text, &f, &l, &d);
-        dump_object(debug, tb->text);
     }
 
     *icons = my_icons;
@@ -1457,11 +1452,12 @@ _kernel_oserror *textarea_remove(PrivateTextArea *handle)
     remove_task_interest(GLib_WimpEvents, filter_wimp_events);
     toolbox_delete_object(0, handle->object_id);
 
+    delete_text(handle->text);
+
 #ifdef MemCheck_MEMCHECK
     MemCheck_UnRegisterMiscBlock(handle);
 #endif
 
-    delete_text(handle->text);
     mem_free(handle);
 
     return NULL;