diff --git a/Changelog b/Changelog
index f045f7920b13f87df0b859607164f281be965e63..211ddb2bfa92207001b10102fb403bab5e38334a 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,7 @@
+git HEAD
+
+    * Proper HTTP request error handling
+
 Travel::Status::DE::DeutscheBahn 0.01 - Mon Jun 27 2011
 
     * Initial release
diff --git a/lib/Travel/Status/DE/DeutscheBahn.pm b/lib/Travel/Status/DE/DeutscheBahn.pm
index 095a6eb745d24381e8c038b313849e24161f6463..12450b24504bff7dab93a3c5538df97d792e8642 100644
--- a/lib/Travel/Status/DE/DeutscheBahn.pm
+++ b/lib/Travel/Status/DE/DeutscheBahn.pm
@@ -19,6 +19,8 @@ sub new {
 
 	my $ua = LWP::UserAgent->new();
 
+	my $reply;
+
 	if ( not $conf{station} ) {
 		confess('You need to specify a station');
 	}
@@ -52,9 +54,15 @@ sub new {
 		}
 	}
 
-	$ref->{html}
-	  = $ua->post( 'http://reiseauskunft.bahn.de/bin/bhftafel.exe/dn?rt=1',
-		$ref->{post} )->content();
+	$reply = $ua->post( 'http://reiseauskunft.bahn.de/bin/bhftafel.exe/dn?rt=1',
+		$ref->{post} );
+
+	if ( $reply->is_error ) {
+		my $errstr = $reply->status_line();
+		confess("Could not submit POST request: ${errstr}");
+	}
+
+	$ref->{html} = $reply->content();
 
 	$ref->{tree} = XML::LibXML->load_html(
 		string            => $ref->{html},