diff --git a/Sam/commands/list.pm b/Sam/commands/list.pm
index e563781af3f4a263a4faa6f1f26461faff4259fa..610fb14afafa956a2e1b039e614117b41febe932 100644
--- a/Sam/commands/list.pm
+++ b/Sam/commands/list.pm
@@ -17,13 +17,15 @@ sub exec {
     my $chan = shift;
     my $sth;
 
+    my $calendar_id = Sam::Chan->new(name => $chan)->load->calendar_id;
     my $events = Sam::Event::Manager->get_events(
         query   =>
         [
-            date => { 'gt' => DateTime->now() },
+            'date'          => { 'gt' => DateTime->now() },
+            'calendar_id'   => $calendar_id,
         ],
         sort_by => 'date',
-        limit   => ($chan->[0] =~ /^#/) ? 2 : 10,
+        limit   => ($chan =~ /^#/) ? 2 : 10,
     );
 
     if (scalar @{$events} == 0) {
@@ -45,7 +47,7 @@ sub exec {
     );
 
     $events_nb -= 2;
-    $events_nb -= 8 if ($chan->[0] !~ /^#/); # query
+    $events_nb -= 8 if ($chan !~ /^#/); # query
 
     if ($events_nb > 0) {
         my $msg = $events_nb . " autre";
diff --git a/Sam/commands/parser.pm b/Sam/commands/parser.pm
index 9fa8ec99497ba2afa0c61f66fa72cf123f49031a..aa67093264e849b215ef26d86fea8bf7780b3fcc 100644
--- a/Sam/commands/parser.pm
+++ b/Sam/commands/parser.pm
@@ -111,7 +111,7 @@ sub exec {
         }
     }
     elsif ($msg =~ /^Sam(?:,|:) +liste/) {
-        Sam::commands::list::exec($chan);
+        Sam::commands::list::exec($chan->[0]);
     }
     elsif ($msg =~ /^Sam(?:,|:) +(help|aide)/) {
 		$irc->yield(privmsg => $nick => 'Sam: <titre de la soirée> le jj/mm/aa @ <salle/lieu> : <description>');