diff --git a/drivers/md/md.c b/drivers/md/md.c
index a5286beddcf51a539aa28f05977927a90e1d1498..b6d16022a53e15e25006814459b9159c10611bad 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -4592,6 +4592,8 @@ void md_error(mddev_t *mddev, mdk_rdev_t *rdev)
 		__builtin_return_address(0),__builtin_return_address(1),
 		__builtin_return_address(2),__builtin_return_address(3));
 */
+	if (!mddev->pers)
+		return;
 	if (!mddev->pers->error_handler)
 		return;
 	mddev->pers->error_handler(mddev,rdev);