diff --git a/plat/arm/css/common/css_topology.c b/plat/arm/css/common/css_topology.c
index 42f94554dfdd19fe620f26fb62a66e3f0e1b7e85..d1f1c98f4b1fb354ce0acee4c86335605a5de4cb 100644
--- a/plat/arm/css/common/css_topology.c
+++ b/plat/arm/css/common/css_topology.c
@@ -23,6 +23,12 @@ int plat_core_pos_by_mpidr(u_register_t mpidr)
 	if (arm_check_mpidr(mpidr) == 0) {
 #if ARM_PLAT_MT
 		assert((read_mpidr_el1() & MPIDR_MT_MASK) != 0);
+
+		/*
+		 * The DTB files don't provide the MT bit in the mpidr argument
+		 * so set it manually before calculating core position
+		 */
+		mpidr |= MPIDR_MT_MASK;
 #endif
 		return plat_arm_calc_core_pos(mpidr);
 	}