diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala
index 5bb14c093ad06e4f6a08073c9c36c1291eec6248..5177b1dc27b63fcf9170d2911efa58f9c482af9d 100644
--- a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala
+++ b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala
@@ -357,8 +357,13 @@ object DIALManager {
 			val imageCollectionHierarchy = getImageHierarchyResponse.getResult.getOrDefault(ContentConstants.CONTENT, new java.util.HashMap[String, AnyRef]()).asInstanceOf[java.util.Map[String, AnyRef]]
 			val imageChildrenHierarchy = imageCollectionHierarchy.get(ContentConstants.CHILDREN).asInstanceOf[util.List[util.Map[String, AnyRef]]].asScala.toList
 			val imageChildrenAssignedDIALList = getAssignedDIALcodes(imageChildrenHierarchy)
-			val contentImageAssignedDIALList = if(imageCollectionHierarchy.containsKey(DIALConstants.DIALCODES) && imageCollectionHierarchy.get(DIALConstants.DIALCODES) != null)
-				imageChildrenAssignedDIALList ++ imageCollectionHierarchy.getOrDefault(DIALConstants.DIALCODES, List.empty[String]).asInstanceOf[List[String]]
+			val contentImageAssignedDIALList = if(imageCollectionHierarchy.containsKey(DIALConstants.DIALCODES) && imageCollectionHierarchy.get(DIALConstants.DIALCODES) != null) {
+				val hierarchyDialCode: List[String] = imageCollectionHierarchy.get(DIALConstants.DIALCODES) match {
+					case strVal: String => ScalaJsonUtils.deserialize(strVal).asInstanceOf[List[String]]
+					case anyVal => anyVal.asInstanceOf[List[String]]
+				}
+				imageChildrenAssignedDIALList ++ hierarchyDialCode
+			}
 			else imageChildrenAssignedDIALList
 
 			request.put(ContentConstants.ROOT_ID, contentId)