diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm
index 26c68d63ab829019d652690ae8730aa4f05f66f9..b1ebad1c64490b4aaa6ca4a9e6a6ce5f91d27c57 100644
--- a/lib/Travel/Status/DE/HAFAS.pm
+++ b/lib/Travel/Status/DE/HAFAS.pm
@@ -118,6 +118,7 @@ sub new {
 		exclusive_mots => $conf{exclusive_mots},
 		excluded_mots  => $conf{excluded_mots},
 		station        => $conf{station},
+		ua             => $ua,
 		post           => {
 			input => $conf{station},
 			date  => $date,
@@ -253,6 +254,7 @@ sub similar_stops {
 		my $sf = Travel::Status::DE::HAFAS::StopFinder->new(
 			url   => $hafas_instance{$service}{stopfinder},
 			input => $self->{station},
+			ua    => $self->{ua},
 		);
 		if ( my $err = $sf->errstr ) {
 			$self->{errstr} = $err;
@@ -345,7 +347,7 @@ sub get_services {
 sub get_service {
 	my ($service) = @_;
 
-	if ( defined $service and exists $hafas_instance{$service}) {
+	if ( defined $service and exists $hafas_instance{$service} ) {
 		return %{ $hafas_instance{$service} };
 	}
 	return;
@@ -354,7 +356,7 @@ sub get_service {
 sub get_active_service {
 	my ($self) = @_;
 
-	if (defined $self->{active_service}) {
+	if ( defined $self->{active_service} ) {
 		return %{ $hafas_instance{ $self->{active_service} } };
 	}
 	return;
diff --git a/lib/Travel/Status/DE/HAFAS/StopFinder.pm b/lib/Travel/Status/DE/HAFAS/StopFinder.pm
index c81c33a5a9ca2262befec82078b7d0a679f44302..3327af2b5310d857a05c5eef589d3c53d8921fa6 100644
--- a/lib/Travel/Status/DE/HAFAS/StopFinder.pm
+++ b/lib/Travel/Status/DE/HAFAS/StopFinder.pm
@@ -17,12 +17,13 @@ sub new {
 	my ( $obj, %conf ) = @_;
 
 	my $lang = $conf{language} // 'd';
+	my $ua = $conf{ua};
 
-	my %lwp_options = %{ $conf{lwp_options} // { timeout => 10 } };
-
-	my $ua = LWP::UserAgent->new(%lwp_options);
-
-	$ua->env_proxy;
+	if ( not $ua ) {
+		my %lwp_options = %{ $conf{lwp_options} // { timeout => 10 } };
+		$ua = LWP::UserAgent->new(%lwp_options);
+		$ua->env_proxy;
+	}
 
 	my $reply;