diff --git a/shell/main.c b/shell/main.c
index fe97b0f..3693d2e 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -414,6 +414,20 @@ create_default_shell (void)
 	return shell;
 }
 
+static void
+wk_dom_object_cache_pointer_added (gpointer pointer,
+				   gpointer frame)
+{
+	camel_pointer_tracker_track (pointer);
+}
+
+static void
+wk_dom_object_cache_pointer_removed (gpointer pointer,
+				     gpointer frame)
+{
+	camel_pointer_tracker_untrack (pointer);
+}
+
 gint
 main (gint argc,
       gchar **argv)
@@ -446,6 +460,8 @@ main (gint argc,
 	/* Initialize timezone specific global variables */
 	tzset ();
 
+	//webkit_web_view_dom_object_cache_set_pointer_callabacks (wk_dom_object_cache_pointer_added, wk_dom_object_cache_pointer_removed);
+
 	/* The contact maps feature uses clutter-gtk. */
 #ifdef WITH_CONTACT_MAPS
 	/* XXX This function is declared in gtk-clutter-util.h with an
@@ -657,5 +673,7 @@ exit:
 	e_util_cleanup_settings ();
 	e_spell_checker_free_global_memory ();
 
+	webkit_web_view_dom_object_cache_dump_pointers ();
+
 	return 0;
 }
