diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c
index 4850b94d21794c1f0db7aac07ebf4352efa9d481..8d6126af2dc38d52161d24423cbeec1f10e77a32 100644
--- a/rts/RetainerProfile.c
+++ b/rts/RetainerProfile.c
@@ -1843,7 +1843,7 @@ computeRetainerSet( void )
     // for retainer profilng.
     for (weak = weak_ptr_list; weak != NULL; weak = weak->link)
 	// retainRoot((StgClosure *)weak);
-	retainRoot((StgClosure **)&weak, NULL);
+	retainRoot(NULL, (StgClosure **)&weak);
 
     // Consider roots from the stable ptr table.
     markStablePtrTable(retainRoot, NULL);