diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm
index 6abf76448fde1cbcb1b70fc09b083aca38cccf32..41230ea86aaa9583ce1a53222973ebf3eff66ac9 100644
--- a/lib/Travel/Status/DE/HAFAS.pm
+++ b/lib/Travel/Status/DE/HAFAS.pm
@@ -442,7 +442,7 @@ sub new_p {
 				$self->parse_board;
 			}
 			if ( $self->errstr ) {
-				$promise->reject( $self->errstr );
+				$promise->reject( $self->errstr, $self );
 			}
 			else {
 				$promise->resolve($self);
@@ -1016,8 +1016,10 @@ Request a polyline (series of geo-coordinates) indicating the train's route.
 =item my $status_p = Travel::Status::DE::HAFAS->new_p(I<%opt>)
 
 Return a promise that resolves into a Travel::Status::DE::HAFAS instance
-($status) on success and rejects with an error message ($status->errstr) on
-failure. In addition to the arguments of B<new>, the following mandatory
+($status) on success and rejects with an error message and optional HAFAS
+instance ($status->errstr[, $status]) on failure. The optional HAFAS instance
+is only present if the error occured late, e.g. due to an ambiguous location
+specifier.  In addition to the arguments of B<new>, the following mandatory
 arguments must be set.
 
 =over