diff --git a/bin/hafas b/bin/hafas
index 027b67c893f84e18d38d2c75dfe01f9baba8b532..543579a50c7e74b9b12284738a219760c28bd4fa 100755
--- a/bin/hafas
+++ b/bin/hafas
@@ -273,7 +273,12 @@ sub format_delay {
 
 sub show_message {
 	my ($msg) = @_;
-	if ( $verbosity >= ( $min_verbosity{ $msg->type } // 0 ) ) {
+	if (
+		$msg->text
+		and ( not $msg->type
+			or $verbosity >= ( $min_verbosity{ $msg->type } // 0 ) )
+	  )
+	{
 		if ( $msg->short ) {
 			printf( "| %s\n", $msg->short );
 		}
@@ -451,9 +456,13 @@ for my $res ( $hafas->connections ) {
 			printf("\n???\n");
 		}
 		for my $msg ( $sec->messages ) {
-			if ( $msg->code eq 'text.connection.section.arrival.date.deviation'
-				or $msg->code eq
-				'text.connection.section.departure.date.deviation' )
+			if (
+				$msg->code
+				and ( $msg->code eq
+					'text.connection.section.arrival.date.deviation'
+					or $msg->code eq
+					'text.connection.section.departure.date.deviation' )
+			  )
 			{
 				next;
 			}