One of the most unpleasant episodes during my #CrossBorderRail project – where I crossed every internal border of the EU you can cross by train – happened at Frankfurt (Oder) in Germany on 24th June, when arriving from Poland. Already four hours late due to a problem on the Polish network, the train to Berlin was then further delayed by German Bundespolizei controlling every passenger’s passport while the train stood at Frankfurt. What happened then is documented in this Twitter thread.

Since that incident, and after a series of similar incidents over the years, I wanted to investigate the issue further – so I used the 9 Euro Ticket one last time, and went to Frankfurt (Oder) all day on 31st August to see what I could find out about what was going on.


What I discovered: every train arriving from Poland is controlled by the Bundespolizei, and every train onwards towards Berlin is delayed as a result.

Because all trains are being controlled, that makes these controls systematic in nature, and clearly in contravention of Article 23 (a) (iii) of the Schengen Borders Code that states that controls “are devised and executed in a manner clearly distinct from systematic checks on persons at the external borders” – there is no clear distinction.

These controls are hence illegal, as Germany only has a temporary suspension of Schengen at its border with Austria, and not at its border to Poland.


So to the detail.

These are the trains – timetables and times observed on 31st August:

Train Number ***Route *Arrival in timetableDeparture in timetableActual arrival 31 AugActual departure 31 AugAdditional delay at Frankfurt (Oder)
EC 60456
EN 40476
NJ 456
Wroclaw Glowny – Berlin Gesundbrunnen
Budapest-Nyugati – Berlin Gesundbrunnen
Graz Hbf – Berlin Gesundbrunnen **
08:4408:4708:50 (+6)09:23 (+36)30 mins
EC 248Warszawa Wschodnia – Berlin Gesundbrunnen09:1209:1509:12 (-)10:01 (+46)46 mins
EC 246Warszawa Wschodnia – Berlin Gesundbrunnen11:1211:1511:24 (+12)11:42 (+27)15 mins
EC 48Warszawa Wschodnia – Berlin Gesundbrunnen13:1213:1513:14 (+2)13:39 (+24)22 mins
EC 58Gdynia Glowna – Berlin Gesundbrunnen14:1214:1514:12 (-)14:29 (+14)14 mins
EC 56Przemysl Gl. – Berlin Gesundbrunnen16:1216:1516:40 (+28)17:03 (+48)20 mins
EC 44Warszawa Wschodnia – Berlin Gesundbrunnen17:1217:1517:18 (+6)17:34 (+19)13 mins
EC 40Warszawa Wschodnia – Berlin Gesundbrunnen21:1221:1521:13 (+1)21:21 (+6)5 mins


Throughout the whole day between 2 and 4 Mercedes and Volkswagen mini buses were parked on the square in front of the station, and between 7 and 13 Bundespolizei officers left these buses, entered the station, and boarded each EuroCity train. Sometimes a couple of officers remained on the platform throughout.

As I was unable to follow the officers through the actual trains – that might have been rather obvious! – I cannot know for sure if every single passenger on every single train was controlled. My own experience on 24th June was that every passenger was controlled, and on 31 August I spoke to some passengers from EN 40476 and they confirmed all the passengers in their carriages were controlled. Given the number of police officers observed to board the trains, and the time the trains each waited, stationary, in the station, it is easily possible – but as stated I cannot confirm for definite! – that all passports were checked. Also many of the trains on 31 August were rather empty – EC 248 had I would estimate fewer than 50 passengers on board – so this could well contribute to lower delays than has been the case at other times during the summer.


Anyone who has ever travelled by train in Germany knows that Deutsche Bahn normally gives a reason for a delay to a train, and even lists this online. So what happened with the trains I observed?

Some – like EC 248 that were on time when arriving – then had “Passport and customs check” listed as the reason for the delay. Where the train arrived late from Poland, the delay was listed as “Delay outside of Germany” (the classic “Verspätung im Ausland”), even though in those cases additional delay was caused by the passport check at Frankfurt (Oder). Or – in other words – just searching for “Passport and customs check” as the reason for delay in DB’s statistics does not tell the whole story. More trains were delayed for this reason than DB’s statistics show.

EC 248
EC 246

Audio announcements on the platform – I recorded the one for EC 60456 / EN 40476 / NJ 456 so you can hear it here – also stated passport and customs controls as the delay reason. These were consistent with stated reasons in DB Navigator.


In addition to the EuroCity trains examined in the table above, there are 3 local trains each day from Zielona Gora Gl. that terminate at Frankfurt (Oder) – these are R 91 (77221), R 91 (77223) and R 91 (77225). Here all passengers have to disembark in Frankfurt, and the train waits there 17 minutes before departing back to Poland. Passengers from these trains are controlled by the Bundespolizei on the station platform before being allowed to go downstairs to exit the station, rather than being controlled in the train as is the case for EuroCity services, although here too I cannot be completely certain every passport was checked – this was impossible to observe as one person at the station with an eye on what was happening.


Perhaps by now you are wondering: why is all of this happening? A lot of police resources, quite some inconvenience for passengers, and for what purpose?

I have asked myself the same questions, and I do not have adequate answers.

These controls were introduced in the spring of this year ostensibly to total up the number of Ukrainian refugees travelling on these trains, so as to pre-inform authorities in Berlin about how many people would need assistance upon arrival in Berlin. But even then, and definitely not now with time to streamline the process and refugee numbers much lower, I do not understand why police, rather than Ukrainian-speaking civilians, could do this totalling up the numbers, and why this has to happen on trains stationary at Frankfurt (Oder), rather than on moving trains between Frankfurt and Berlin. When I was controlled in June it was during the G20 in Elmau, and there was more attention to Germany’s borders then, but it seems there is no substantive change in how all of this works between then and now.

There have also been recent reports – like this thread by Johannes Hunger – of the Bundespolizei conducting controls in a racially discriminatory manner. I have no evidence whatsoever of that at Frankfurt (Oder), where it seems everyone is controlled. But that then makes the issue at Frankfurt a different one, namely a contravention of the Schengen Borders Code rather than an issue of police prejudice and racial profiling.


So that’s what I learned in my day at Frankfurt (Oder). A complaint about Germany’s illegal border controls will be submitted to European Commissioner for Home Affairs Ylva Johansson in due course.


* – please note that on 31st August all trains terminated at Berlin Gesundbrunnen, rather than Berlin Hbf or Berlin Charlottenburg as would normally be the case. This was due to building works between Berlin Ostbahnhof and Berlin Hbf, and has no impact whatsoever on any other aspect of this story.
** – EC 60456 / EN 40476 / NJ 456 is one train in Frankfurt. Each of the parts are coupled together in Poland during the night.
*** – due to problems deep linking to train timetables on DB’s site, links to timetables in the table here were replaced with links to instead – the update was made on 2nd September at 10:30. No text of the blog post was changed.


  1. Piotr Maciej Kaczyński

    Did you ask the Berlin Police for why the checks?

    • Why would I ask the Berlin police? This is the Bundespolizei. And yes, when I was controlled there I did ask, and I was told they were checking because they are allowed to check. They did not give a reason.

  2. Border between Poland and Belarus, the scene of acts of hybrid war until not long ago, it is not yet completely sealed. I think it is a matter of precaution on the part of the German authorities.

    • You didn’t actually read the post then. Because *were* that the case, then why no controls at the other borders?

Leave a Comment

Your email address will not be published. Required fields are marked *