diff --git a/clutter/clutter-actor-meta.c b/clutter/clutter-actor-meta.c
index 9a8334895..9a6ac5ee7 100644
--- a/clutter/clutter-actor-meta.c
+++ b/clutter/clutter-actor-meta.c
@@ -92,7 +92,10 @@ clutter_actor_meta_real_set_actor (ClutterActorMeta *meta,
     return;
 
   if (meta->priv->destroy_id != 0)
-    g_signal_handler_disconnect (meta->priv->actor, meta->priv->destroy_id);
+    {
+      g_signal_handler_disconnect (meta->priv->actor, meta->priv->destroy_id);
+      meta->priv->destroy_id = 0;
+    }
 
   meta->priv->actor = actor;