diff --git a/Changelog b/Changelog
index ac1e7948f5a796a49d316e43b96c562a5d3c39a6..64760ee850cea1b785e89572e67018d9cc04387e 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,9 @@
+git HEAD
+
+    [Travel::Status::DE::DeutscheBahn]
+    * Fix ->results returning duplicate connections when accessed more than
+      one time
+
 Travel::Status::DE::DeutscheBahn 0.04 - Wed Jul 13 2011
 
     [Travel::Status::DE::DeutscheBahn::Result]
diff --git a/lib/Travel/Status/DE/DeutscheBahn.pm b/lib/Travel/Status/DE/DeutscheBahn.pm
index 46c392838be04b957447197edffff297888afde8..baf1fe262ce7a1b226981c35fe784f0a7808dd71 100644
--- a/lib/Travel/Status/DE/DeutscheBahn.pm
+++ b/lib/Travel/Status/DE/DeutscheBahn.pm
@@ -113,6 +113,10 @@ sub results {
 		\d{1,2}:\d{1,2}
 	}mx;
 
+	if ( defined $self->{results} ) {
+		return @{ $self->{results} };
+	}
+
 	for my $tr ( @{ $self->{tree}->findnodes($xp_element) } ) {
 
 		my ($n_time) = $tr->findnodes($xp_time);