diff --git a/lib/commands/parser.pm b/lib/commands/parser.pm
index 4e7651cc49c4895bd0b816565548b1ca893b755f..f01f6553de98912876163d1b2a1a759c45405839 100644
--- a/lib/commands/parser.pm
+++ b/lib/commands/parser.pm
@@ -42,7 +42,7 @@ sub exec {
 	my ($kernel, $user, $chan, $msg) = @_;
 	my ($nick, $mask) = split(/!/,$user);
 
-    if ($msg =~ m#^Sam(?:,|:) +(je +vais +à +)?(.+) +le +(\d?\d)(?:/(\d?\d)(?:/((?:\d\d)?\d\d))?)?(?: +@ +([^:]+))?(?: *: +(.*))?$#i) {
+    if ($msg =~ m#^Sam(?:,|:) +(je +(?:vais|viens) +à +)?(.+) +le +(\d?\d)(?:/(\d?\d)(?:/((?:\d\d)?\d\d))?)?(?: +@ +([^:]+))?(?: *: +(.*))?$#i) {
         my (undef, undef, undef, undef, $current_mon, $current_year, undef, undef, undef) =
             localtime(time);