diff --git a/plat/nvidia/tegra/common/tegra_pm.c b/plat/nvidia/tegra/common/tegra_pm.c
index 13ae6c4ba94d910a891960f76ba9bd26063d0331..7512436570f86a47695ea9af7f08da731f84213c 100644
--- a/plat/nvidia/tegra/common/tegra_pm.c
+++ b/plat/nvidia/tegra/common/tegra_pm.c
@@ -101,13 +101,13 @@ plat_local_state_t tegra_soc_get_target_pwr_state(unsigned int lvl,
 					     const plat_local_state_t *states,
 					     unsigned int ncpu)
 {
-	plat_local_state_t target = PLAT_MAX_RET_STATE, temp;
+	plat_local_state_t target = PLAT_MAX_OFF_STATE, temp;
 
 	assert(ncpu);
 
 	do {
 		temp = *states++;
-		if ((temp > target) && (temp != PLAT_MAX_OFF_STATE))
+		if ((temp < target))
 			target = temp;
 	} while (--ncpu);