KNKT menyimpulkan, kecelakaan ini terjadi akibat adanya sinyal yang dikirim sistem interface tanpa perintah peralatan persinyalan blok mekanik (uncommanded signal) Stasiun Cicalengka yang terproses oleh sistem persinyalan blok elektrik Stasiun Haurpugur.
Uncommanded signal tersebut kemudian ditampilkan pada layar monitor Stasiun Haurpugur sebagai indikasi seolah-olah telah diberi "Blok Aman" oleh Stasiun Cicalengka. Hal ini berdampak pada proses pengambilan keputusan selanjutnya untuk pelayanan KA dari masing-masing stasiun.
Adapun faktor yang berkontribusi pada kasus kecelakaan ini yaitu, ditemukan uncommanded signal dari sistem interface akibat transien tegangan dengan amplitudo sangat tinggi dalam waktu sangat singkat saat operasi pensaklaran relay yang mungkin dipengaruhi oleh kondisi pengkabelan serta grounding system interface dan peralatan blok mekanik di Stasiun Cicalengka.
Uncommanded signal yang terjadi terproses oleh sistem persinyalan blok elektrik Stasiun Haurpugur yang kemudian ditampilkan sebagai indikasi telah diberi Blok Aman' sehingga PPKA Stasiun Haurpugur dapat melanjutkan proses pelayanan rute untuk KA Lokal Bandung Raya menuju Stasiun Cicalengka.
Terjadinya complacency terhadap masing-masing sistem persinyalan dan confirmation bias mempengaruhi proses pengambilan keputusan PPKA Stasiun Cicalengka dan PPKA Stasiun Haurpugur untuk memberangkatkan KA dari masing-masing stasiun. PDPS baik di Stasiun Haurpugur maupun Stasiun Cicalengka tidak mengakomodir komunikasi antara persinyalan elektrik dengan mekanik, sehingga SOP di kedua stasiun tersebut tidak mewakili keadaan yang sebenarnya.
Anomali berupa uncommanded signal yang sebelumnya telah terekam beberapa kali tidak tercatat sebagai gangguan persinyalan sehingga permasalahan tersebut tidak terdeteksi lebih awal.