diff --git a/src/de/schildbach/pte/BahnProvider.java b/src/de/schildbach/pte/BahnProvider.java
index 4948bc52..2e7b9f4c 100644
--- a/src/de/schildbach/pte/BahnProvider.java
+++ b/src/de/schildbach/pte/BahnProvider.java
@@ -311,14 +311,21 @@ public final class BahnProvider extends AbstractHafasProvider
+ "Übergang.*?" //
+ "\\s*(.+?)\\s*
\n" // arrival
+ ")", Pattern.DOTALL);
- private static final Pattern P_CONNECTION_DETAILS_MESSAGES = Pattern
- .compile("Dauer: \\d+:\\d+|(Anschlusszug nicht mehr rechtzeitig)|(Anschlusszug jedoch erreicht werden)|(nur teilweise dargestellt)|(Längerer Aufenthalt)|(äquivalentem Bahnhof)|(Bahnhof wird mehrfach durchfahren)");
+ private static final Pattern P_CONNECTION_DETAILS_ERROR = Pattern.compile("(zwischenzeitlich nicht mehr gespeichert)");
+ private static final Pattern P_CONNECTION_DETAILS_MESSAGES = Pattern.compile("Dauer: \\d+:\\d+");
@Override
public GetConnectionDetailsResult getConnectionDetails(final String uri) throws IOException
{
final CharSequence page = ParserUtils.scrape(uri);
+ final Matcher mError = P_CONNECTION_DETAILS_ERROR.matcher(page);
+ if (mError.find())
+ {
+ if (mError.group(1) != null)
+ throw new SessionExpiredException();
+ }
+
final Matcher mHead = P_CONNECTION_DETAILS_HEAD.matcher(page);
if (mHead.matches())
{