diff --git a/Changelog b/Changelog
index e2b35a81dfe87eabdb36f235165d8362103cb125..183a8e5c401cdd56f299c3725dfcb34e56928b87 100644
--- a/Changelog
+++ b/Changelog
@@ -2,6 +2,7 @@ git HEAD
 
     * Route::Part: Add {arrival,departure}_{route,station}maps accessors
     * efa: Add -m, --maps option
+    * Fix exclude / --exclude (didn't work at all previously)
 
 Travel::Routing::DE::VRR 2.05 - Mon Mar 03 2014
 
diff --git a/bin/efa b/bin/efa
index f63c9d21781e88e9fec79d3d70804af73ec09ffc..0d35fbcf23e3a9b34a4d5b488b45697f5b559f9b 100755
--- a/bin/efa
+++ b/bin/efa
@@ -216,6 +216,10 @@ if ( defined $opt->{'ignore-info'} and length( $opt->{'ignore-info'} ) == 0 ) {
 	$opt->{'ignore-info'} = undef;
 }
 
+if ( $opt->{exclude} ) {
+	$opt->{exclude} = [ split( /,/, join( ',', @{ $opt->{exclude} } ) ) ];
+}
+
 $efa = eval {
 	Travel::Routing::DE::EFA->new(
 		efa_url => $efa_url,
diff --git a/lib/Travel/Routing/DE/EFA.pm b/lib/Travel/Routing/DE/EFA.pm
index c6ac3d97375ea0e370f15a7c81ee64e64d2d2e12..dfed34595d3939f2f81f6f90c67d6402272cea64 100644
--- a/lib/Travel/Routing/DE/EFA.pm
+++ b/lib/Travel/Routing/DE/EFA.pm
@@ -132,7 +132,7 @@ sub exclude {
 		my $ok = 0;
 		for my $map_id ( 0 .. $#mapping ) {
 			if ( $exclude_type eq $mapping[$map_id] ) {
-				$self->{post}->{"inclMOT_${map_id}"} = undef;
+				delete $self->{post}->{"inclMOT_${map_id}"};
 				$ok = 1;
 			}
 		}
@@ -432,7 +432,9 @@ sub new_from_xml {
 
 	my $self = { xml_reply => $opt{xml} };
 
-	$self->{config} = { efa_url => $opt{efa_url}, };
+	$self->{config} = {
+		efa_url => $opt{efa_url},
+	};
 
 	$self->{config}->{efa_url} =~ m{
 		(?<netroot> (?<root> [^:]+ : // [^/]+ ) / [^/]+ / )
@@ -459,7 +461,8 @@ sub submit {
 
 	if ( $response->is_error ) {
 		Travel::Routing::DE::EFA::Exception::Net->throw(
-			http_response => $response, );
+			http_response => $response,
+		);
 	}
 
 	$self->{xml_reply} = $response->decoded_content;
@@ -638,8 +641,9 @@ sub parse_xml_part {
 sub parse_xml {
 	my ($self) = @_;
 
-	my $tree = $self->{tree}
-	  = XML::LibXML->load_xml( string => $self->{xml_reply}, );
+	my $tree = $self->{tree} = XML::LibXML->load_xml(
+		string => $self->{xml_reply},
+	);
 
 	#say $tree->toString(2);