diff --git a/Changelog b/Changelog
index c7dc4f8d2cdc7a92ad596b6733de02d72c2d9603..540cba00ed2ed091b377215884086ace670a8915 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,7 @@
+git HEAD
+
+    * efa: Fix odd encoding issues when using -w, -t, -d, -a and similar
+
 Travel::Routing::DE::VRR 2.10 - Fri May 29 2015
 
     * efa: Changed -p/--proximity default walking time from 8 to 10 minutes
diff --git a/lib/Travel/Routing/DE/EFA.pm b/lib/Travel/Routing/DE/EFA.pm
index 6da235aa44876016e7df06af3c271157ba0ec182..801270be09770af31e8fffdd310ed0050d1ffb88 100644
--- a/lib/Travel/Routing/DE/EFA.pm
+++ b/lib/Travel/Routing/DE/EFA.pm
@@ -252,9 +252,6 @@ sub place {
 		);
 	}
 
-	$place = encode( 'ISO-8859-15', $place );
-	$stop  = encode( 'ISO-8859-15', $stop );
-
 	$type //= 'stop';
 
 	@{ $self->{post} }{ "place_${which}", "name_${which}" } = ( $place, $stop );
@@ -399,6 +396,10 @@ sub create_post {
 		$self->with_bike(1);
 	}
 
+	for my $val ( values %{ $self->{post} } ) {
+		$val = encode( 'ISO-8859-15', $val );
+	}
+
 	return;
 }