Sesuai grafik perjalanan kereta api (gapeka) yang berlaku saat itu, KA 225 dijadwalkan tiba di Stasiun Sudimara pukul 06.40 WIB untuk bersilang dengan KA 220 pada pukul 06.49 WIB, namun KA 225 terlambat 5 menit. Saat itu emplasemen Stasiun Sudimara yang memiliki 3 jalur, padat dan tidak dapat menerima persilangan KA karena jalur 1 dalam kondisi tidak mendukung dan hanya dipakai untuk langsiran unit tunggal.
KA 225 terpaksa meninggalkan Stasiun Sudimara untuk berhenti lagi di stasiun berikutnya, Kebayoran. Sesuai aturan petugas Pengatur Perjalanan Kereta Api (PPKA) Sudimara wajib meminta izin kepada PPKA Kebayoran melalui telepon dan mengirimkan Surat Pemindahan Tempat Persilangan (PTP) yang harus diserahkan langsung ke masinis dan kondektur KA 225.
Pagi itu, terjadi pergantian PPKA dari sif malam ke sif pagi, namun Surat PTP diserahkan tanpa memberikan izin terlebih dahulu kepada PPKA Kebayoran sebelum sif terjadi. PTP diserahkan melalui petugas pelayanan kereta api (PLKA) baru kemudian dibacakan masinis dan kondektur KA 225.
Saat serah terima sif tersebut, PPKA sif malam memberi tahu PPKA sif pagi (Umrihadi), KA 251, 225 dan 1035 belum tiba di Stasiun Kebayoran. KA 251 sedang melaju ke arah Kebayoran untuk bersilang dengan KA 220.
Ketika KA 251 berhenti di Kebayoran, Umrihadi meminta izin untuk memberangkatkan KA 220 ke PPKA Sudimara, Djamhari dan dijawab sedang sibuk. Padahal sesuai prosedur Djamhari seharusnya tidak memberikan izin keberangkatan bagi KA 220 dan mengabarkan ada kereta api yang harus berangkat dari Sudimara ke Kebayoran sesuai jadwal.
Sementara, KA 225 saat itu mulai dipadati penumpang hingga gergelantungan di pintu, jendela hingga di lokomotif. Setelah komunikasi antar PPKA ditutup, Umrihadi memberangkatkan KA 220 dengan asumsi persilangan KA 225 tetap dilakukan di Sudimara walaupun terlambat.