diff --git a/common/psci/psci_afflvl_off.c b/common/psci/psci_afflvl_off.c
index fea2b7e..b62ae29 100644
--- a/common/psci/psci_afflvl_off.c
+++ b/common/psci/psci_afflvl_off.c
@@ -91,13 +91,6 @@
 						   plat_state);
 	}
 
-	/*
-	 * The only error cpu_off can return is E_DENIED. So check if that's
-	 * indeed the case. The caller will simply 'eret' in case of an error.
-	 */
-	if (rc != PSCI_E_SUCCESS)
-		assert(rc == PSCI_E_DENIED);
-
 	return rc;
 }
 
@@ -123,7 +116,7 @@
 		dcsw_op_all(DCCISW);
 
 	/*
-	 * Plat. Management. Allow the platform to do it's cluster
+	 * Plat. Management. Allow the platform to do its cluster
 	 * specific bookeeping e.g. turn off interconnect coherency,
 	 * program the power controller etc.
 	 */
@@ -152,7 +145,7 @@
 	/* No arch. and generic bookeeping to do here currently */
 
 	/*
-	 * Plat. Management : Allow the platform to do it's bookeeping
+	 * Plat. Management : Allow the platform to do its bookeeping
 	 * at this affinity level
 	 */
 	if (psci_plat_pm_ops->affinst_off)
diff --git a/common/psci/psci_afflvl_on.c b/common/psci/psci_afflvl_on.c
index c118cab..81d46bf 100644
--- a/common/psci/psci_afflvl_on.c
+++ b/common/psci/psci_afflvl_on.c
@@ -333,7 +333,7 @@
 	/*
 	 * Generic management: Now we just need to retrieve the
 	 * information that we had stashed away during the cpu_on
-	 * call to set this cpu on it's way. First get the index
+	 * call to set this cpu on its way. First get the index
 	 * for restoring the re-entry info
 	 */
 	index = cpu_node->data;
diff --git a/common/psci/psci_afflvl_suspend.c b/common/psci/psci_afflvl_suspend.c
index 05b0aad..810075b 100644
--- a/common/psci/psci_afflvl_suspend.c
+++ b/common/psci/psci_afflvl_suspend.c
@@ -153,7 +153,7 @@
 		dcsw_op_all(DCCISW);
 
 	/*
-	 * Plat. Management. Allow the platform to do it's cluster
+	 * Plat. Management. Allow the platform to do its cluster
 	 * specific bookeeping e.g. turn off interconnect coherency,
 	 * program the power controller etc.
 	 */
@@ -166,7 +166,6 @@
 		 * platform handler prototype the same.
 		 */
 		psci_entrypoint = (unsigned long) psci_aff_suspend_finish_entry;
-
 		rc = psci_plat_pm_ops->affinst_suspend(mpidr,
 						       psci_entrypoint,
 						       ns_entrypoint,
@@ -198,7 +197,7 @@
 	plat_state = psci_get_aff_phys_state(system_node);
 
 	/*
-	 * Plat. Management : Allow the platform to do it's bookeeping
+	 * Plat. Management : Allow the platform to do its bookeeping
 	 * at this affinity level
 	 */
 	if (psci_plat_pm_ops->affinst_suspend) {
@@ -210,7 +209,6 @@
 		 * platform handler prototype the same.
 		 */
 		psci_entrypoint = (unsigned long) psci_aff_suspend_finish_entry;
-
 		rc = psci_plat_pm_ops->affinst_suspend(mpidr,
 						       psci_entrypoint,
 						       ns_entrypoint,
@@ -387,7 +385,7 @@
 	/*
 	 * Generic management: Now we just need to retrieve the
 	 * information that we had stashed away during the suspend
-	 * call to set this cpu on it's way.
+	 * call to set this cpu on its way.
 	 */
 	psci_get_ns_entry_info(index);
 
diff --git a/common/psci/psci_common.c b/common/psci/psci_common.c
index 8eb0213..ba0a379 100644
--- a/common/psci/psci_common.c
+++ b/common/psci/psci_common.c
@@ -196,7 +196,7 @@
 /*******************************************************************************
  * This routine does the heavy lifting for psci_change_state(). It examines the
  * state of each affinity instance at the next lower affinity level and decides
- * it's final state accordingly. If a lower affinity instance is ON then the
+ * its final state accordingly. If a lower affinity instance is ON then the
  * higher affinity instance is ON. If all the lower affinity instances are OFF
  * then the higher affinity instance is OFF. If atleast one lower affinity
  * instance is SUSPENDED then the higher affinity instance is SUSPENDED. If only
@@ -210,7 +210,7 @@
 	unsigned long tempidr;
 	aff_map_node *lo_aff_node;
 
-	/* Cannot calculate lowest affinity state. It's simply assigned */
+	/* Cannot calculate lowest affinity state. It is simply assigned */
 	assert(aff_node->level > MPIDR_AFFLVL0);
 
 	/*
@@ -248,7 +248,7 @@
 
 		/*
 		 * At least one X-1 needs to be suspended for X to be suspended
-		 * but it's effectively on for the affinity_info call.
+		 * but it is effectively on for the affinity_info call.
 		 * SUSPEND > ON_PENDING > OFF.
 		 */
 		case PSCI_STATE_SUSPEND:
@@ -424,8 +424,8 @@
 
 /*******************************************************************************
  * An affinity level could be on, on_pending, suspended or off. These are the
- * logical states it can be in. Physically either it's off or on. When it's in
- * the state on_pending then it's about to be turned on. It's not possible to
+ * logical states it can be in. Physically either it is off or on. When it is in
+ * the state on_pending then it is about to be turned on. It is not possible to
  * tell whether that's actually happenned or not. So we err on the side of
  * caution & treat the affinity level as being turned off.
  ******************************************************************************/
diff --git a/common/psci/psci_main.c b/common/psci/psci_main.c
index b1aa899..fbf864b 100644
--- a/common/psci/psci_main.c
+++ b/common/psci/psci_main.c
@@ -122,9 +122,11 @@
 	 */
 	rc = psci_afflvl_off(mpidr, target_afflvl, MPIDR_AFFLVL0);
 
-	if (rc != PSCI_E_SUCCESS) {
-		assert(rc == PSCI_E_DENIED);
-	}
+	/*
+	 * The only error cpu_off can return is E_DENIED. So check if that's
+	 * indeed the case.
+	 */
+	assert (rc == PSCI_E_SUCCESS || rc == PSCI_E_DENIED);
 
 	return rc;
 }
