--- a/src/lcdgrilo.vala
+++ b/src/lcdgrilo.vala
@@ -47,7 +47,7 @@ private class LCDPlayer {
 	private int current = 0;
 	private Transitions transitions;
 	private MainLoop loop;
-	private Gee.ArrayList<Grl.Source> sources = new Gee.ArrayList<unowned Grl.Source> ();
+	private Gee.ArrayList<weak Grl.Source> sources = new Gee.ArrayList<unowned Grl.Source> ();
 	private uint watch_id = 0;
 
 	public LCDPlayer () {