diff --git a/bin/db-ris b/bin/db-ris
index 80d3d0fb628ab126890ac3311b9302cf04da93f7..851483165b933859becbe86606182e97d5510f16 100755
--- a/bin/db-ris
+++ b/bin/db-ris
@@ -6,16 +6,19 @@ use 5.010;
 our $VERSION = '0.0';
 
 use Getopt::Long;
+use List::Util qw(first);
 use Travel::Status::DE::DeutscheBahn;
 
 my ( $date, $time );
 my $types = q{};
 my %train_type;
+my $filter_via;
 
 binmode( STDOUT, ':encoding(utf-8)' );
 
 GetOptions(
 	'd|date=s' => \$date,
+	'v|via=s'  => \$filter_via,
 	'm|mot=s'  => \$types,
 	't|time=s' => \$time,
 );
@@ -42,6 +45,10 @@ for my $d ( $status->departures() ) {
 
 	@via = $d->route;
 
+	if ( $filter_via and not( first { $_ =~ m{$filter_via}io } @via ) ) {
+		next;
+	}
+
 	for my $stop (@via) {
 		if ( $stop =~ m{ ?Hbf} ) {
 			push( @via_main, $stop );