function EsoPL_doubleNamesNPC(EsoPL)
	
	if EsoPL_doubleNamesBoth then
		EsoPL_doubleNamesBoth(EsoPL)
	end

	local GetUnitNameOld = GetUnitName

	function GetUnitName(target)
		
		local currentNpcName = GetUnitNameOld(target)
		local newNpcName
		
		if (target == "player" or EsoPL.Settings.ShowNPC == "pl" or currentNpcName == nil) then
			return currentNpcName
		end
		
		if (target == "reticleover") then
			if (not DoesUnitExist("reticleover") or IsUnitPlayer("reticleover")) then return currentNpcName end
		end
		
		newNpcName = npcNames[zo_strlower(currentNpcName)]
			
		if newNpcName ~= nil then
			if (EsoPL.Settings.ShowNPC == "plen") then
				currentNpcName = currentNpcName .. " (" .. newNpcName .. ")"
			elseif (EsoPL.Settings.ShowNPC == "enpl") then
				currentNpcName = newNpcName .. " (" .. currentNpcName .. ")"
			else
				currentNpcName = newNpcName
			end
		end
			
		return currentNpcName
	end
	
	local GetMapLocationTooltipLineInfoOld = GetMapLocationTooltipLineInfo
	
	function GetMapLocationTooltipLineInfo(...)
		local icon, name, groupingId, categoryName = GetMapLocationTooltipLineInfoOld(...)
		
		if (name == nil or EsoPL.Settings.ShowNPC == "pl") then
			return icon, name, groupingId, categoryName
		end
		
		newNpcName = npcNames[zo_strlower(name)]
			
		if newNpcName ~= nil then
			if (EsoPL.Settings.ShowNPC == "plen") then
				name = name .. "\n|ca99e83" .. newNpcName .. "|r"
			elseif (EsoPL.Settings.ShowNPC == "enpl") then
				name = newNpcName .. "\n|ca99e83" .. name .. "|r"
			else
				name = newNpcName
			end
		end
			
		return icon, name, groupingId, categoryName
	end
	
	EsoPL_doubleNamesNPC = nil
end