diff --git a/bin/efa b/bin/efa
index 40c2ef1239d81fe839585f5126a8f6231c61c282..f073712c8c20a79712b37a5c260174e3907fad21 100755
--- a/bin/efa
+++ b/bin/efa
@@ -40,8 +40,10 @@ sub handle_efa_exception {
 
 	if ( $e->isa('Travel::Routing::DE::VRR::Exception::Setup') ) {
 		if ( $e->message ) {
-			printf STDERR ( "Error: %s (option '%s'): %s\n", $e->description,
-				$e->message );
+			printf STDERR (
+				"Error: %s (option '%s'): %s\n",
+				$e->description, $e->option, $e->message
+			);
 		}
 		else {
 			printf STDERR (
@@ -133,6 +135,9 @@ if ( not( @from and @to ) ) {
 	elsif ( @ARGV == 6 ) {
 		( @from[ 0, 1 ], @via[ 0, 1 ], @to[ 0, 1 ] ) = @ARGV;
 	}
+	else {
+		show_help(1);
+	}
 }
 
 for my $pair ( [ \@from, \$from_type ], [ \@via, \$via_type ],