diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c
index e95297cbe1c3e71ee8aab2ea79a4a907030ccb5d..50eb9d48aa8d2801202bd48ed3ba36d794540d2d 100644
--- a/src/target/cortex_a.c
+++ b/src/target/cortex_a.c
@@ -766,7 +766,7 @@ static int cortex_a8_halt_smp(struct target *target)
 static int update_halt_gdb(struct target *target)
 {
 	int retval = 0;
-	if (target->gdb_service->core[0] == -1) {
+	if (target->gdb_service && target->gdb_service->core[0] == -1) {
 		target->gdb_service->target = target;
 		target->gdb_service->core[0] = target->coreid;
 		retval += cortex_a8_halt_smp(target);