diff --git a/Kernel/Storage/ATA/AHCIPort.cpp b/Kernel/Storage/ATA/AHCIPort.cpp index a950b5b819..381a260527 100644 --- a/Kernel/Storage/ATA/AHCIPort.cpp +++ b/Kernel/Storage/ATA/AHCIPort.cpp @@ -73,7 +73,7 @@ void AHCIPort::handle_interrupt() } if (m_interrupt_status.is_set(AHCI::PortInterruptFlag::PRC) && m_interrupt_status.is_set(AHCI::PortInterruptFlag::PC)) { clear_sata_error_register(); - if ((m_port_registers.ssts & 0xf) != 3) { + if ((m_port_registers.ssts & 0xf) != 3 && m_connected_device) { m_connected_device->prepare_for_unplug(); StorageManagement::the().remove_device(*m_connected_device); g_io_work->queue([this]() {