diff --git a/Changelog b/Changelog
index 01c60d6183f8f7664eed34295d3f9c06583c8f2c..ffd89ef205fb6c54ca253528070ccf9d743f75ac 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,10 @@
+git HEAD
+
+    * efa: Changed -p/--proximity default walking time from 8 to 10 minutes
+    * efa: The -p/--proximity option now takes an optional duration argument
+    * EFA: use_near_stops now accepts an integer (interpreted as walking time
+      in minutes) instead of a boolean value
+
 Travel::Routing::DE::VRR 2.09 - Fri Jan 09 2015
 
     * Travel::Routing::DE::EFA::Exception::Ambiguous: Add post_value accessor
diff --git a/bin/efa b/bin/efa
index 467c6ccde3e956fd6128b87f9099f5d1e5e896ce..dd8019e492dd7315c6970fb2a1c5a6520a8ed34f 100755
--- a/bin/efa
+++ b/bin/efa
@@ -179,7 +179,7 @@ GetOptions(
 		max-change|m=i
 		num-connections|n=i
 		prefer|P=s
-		proximity|p
+		proximity|p:10
 		service|s=s
 		time|t=s
 		timeout=i
@@ -522,9 +522,11 @@ Prefer connections with less walking (at interchanges)
 
 =back
 
-=item B<-p>|B<--proximity>
+=item B<-p>|B<--proximity> [I<minutes>]
 
-Take stops close to the stop/start into account and possibly use them instead
+Take stops close to the stop/start into account.  By default, up to 10 minutes
+of walking to/from the route's first/last stop is considered acceptable. You
+can specify I<minutes> to use a custem value.
 
 =item B<-s>|B<--service> I<name>
 
diff --git a/lib/Travel/Routing/DE/EFA.pm b/lib/Travel/Routing/DE/EFA.pm
index 57791a0211ffccc9703360d02e43776a2ca91ebc..fefc2bdd25449e3a2d1bf7ebff1666f9d70009c7 100644
--- a/lib/Travel/Routing/DE/EFA.pm
+++ b/lib/Travel/Routing/DE/EFA.pm
@@ -203,9 +203,16 @@ sub train_type {
 }
 
 sub use_near_stops {
-	my ( $self, $toggle ) = @_;
+	my ( $self, $duration ) = @_;
 
-	$self->{post}->{useProxFootSearch} = $toggle;
+	if ($duration) {
+		$self->{post}->{useProxFootSearch}  = 1;
+		$self->{post}->{trITArrMOTvalue100} = $duration;
+		$self->{post}->{trITDepMOTvalue100} = $duration;
+	}
+	else {
+		$self->{post}->{useProxFootSearch} = 0;
+	}
 
 	return;
 }
@@ -337,12 +344,12 @@ sub create_post {
 		sessionID                                          => 0,
 		text                                               => 1993,
 		trITArrMOT                                         => 100,
-		trITArrMOTvalue100                                 => 8,
+		trITArrMOTvalue100                                 => 10,
 		trITArrMOTvalue101                                 => 10,
 		trITArrMOTvalue104                                 => 10,
 		trITArrMOTvalue105                                 => 10,
 		trITDepMOT                                         => 100,
-		trITDepMOTvalue100                                 => 8,
+		trITDepMOTvalue100                                 => 10,
 		trITDepMOTvalue101                                 => 10,
 		trITDepMOTvalue104                                 => 10,
 		trITDepMOTvalue105                                 => 10,
@@ -380,7 +387,7 @@ sub create_post {
 		$self->select_interchange_by( $conf->{select_interchange_by} );
 	}
 	if ( $conf->{use_near_stops} ) {
-		$self->use_near_stops(1);
+		$self->use_near_stops( $conf->{use_near_stops} );
 	}
 	if ( $conf->{train_type} ) {
 		$self->train_type( $conf->{train_type} );
@@ -960,9 +967,13 @@ EFA server is used (usually 4 or 5).
 Prefer either fast connections (default), connections with low wait time or
 connections with little distance to walk
 
-=item B<use_near_stops> => B<0>|B<1>
+=item B<use_near_stops> => I<$int>
+
+If I<$int> is a true value: Take stops close to the stop/start into account and
+possibly use them instead. Up to I<$int> minutes of walking are considered
+acceptable.
 
-If true: Try using near stops instead of the specified origin/destination ones
+Otherwise: Do not take stops close to stop/start into account.
 
 =item B<train_type> => B<local>|B<ic>|B<ice>
 
@@ -1021,7 +1032,7 @@ The following methods act like the arguments to B<new>. See there.
 
 =item $efa->train_type(I<$type>)
 
-=item $efa->use_near_stops(I<$bool>)
+=item $efa->use_near_stops(I<$duration>)
 
 =item $efa->walk_speed(I<$speed>)