diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 27a615e..c4b028e 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -3437,6 +3437,7 @@ gtk_drag_set_icon_surface (GdkDragContext    *context,
     }
 
   gdk_window_set_background_pattern (gtk_widget_get_window (window), pattern);
+  cairo_pattern_destroy (pattern);
 
   gtk_drag_set_icon_window (context, window, extents.x, extents.y, TRUE);
 }
