diff --git a/bl31/aarch64/runtime_exceptions.S b/bl31/aarch64/runtime_exceptions.S
index ff77597a7fca9ec9b56facbfcd18a36fa74d7538..54db6814d542d4a195a35a872ea1aa6fe4c9f68b 100644
--- a/bl31/aarch64/runtime_exceptions.S
+++ b/bl31/aarch64/runtime_exceptions.S
@@ -213,7 +213,7 @@ end_vector_entry fiq_sp_el0
 
 
 vector_entry serror_sp_el0
-	b	report_unhandled_exception
+	no_ret	plat_handle_el3_ea
 end_vector_entry serror_sp_el0
 
 	/* ---------------------------------------------------------------------
@@ -239,7 +239,7 @@ vector_entry fiq_sp_elx
 end_vector_entry fiq_sp_elx
 
 vector_entry serror_sp_elx
-	b	report_unhandled_exception
+	no_ret	plat_handle_el3_ea
 end_vector_entry serror_sp_elx
 
 	/* ---------------------------------------------------------------------
diff --git a/plat/common/aarch64/platform_helpers.S b/plat/common/aarch64/platform_helpers.S
index 8a07f8f54cd0e253ac945f9cb0a4d1417ae9f407..a5d26c0133e0b62430b0f336263dc3d45691d2bc 100644
--- a/plat/common/aarch64/platform_helpers.S
+++ b/plat/common/aarch64/platform_helpers.S
@@ -22,6 +22,7 @@
 
 	.weak	plat_handle_uncontainable_ea
 	.weak	plat_handle_double_fault
+	.weak	plat_handle_el3_ea
 
 #if !ENABLE_PLAT_COMPAT
 	.globl	platform_get_core_pos
@@ -212,3 +213,11 @@ endfunc plat_handle_uncontainable_ea
 func plat_handle_double_fault
 	b	report_unhandled_exception
 endfunc plat_handle_double_fault
+
+	/* -----------------------------------------------------
+	 * Platform handler for EL3 External Abort.
+	 * -----------------------------------------------------
+	 */
+func plat_handle_el3_ea
+	b	report_unhandled_exception
+endfunc plat_handle_el3_ea