A tabela é especificada duas vezes, como um destino para 'UPDATE' e como uma fonte separada para dados no mysql

Eu tenho abaixo consulta no mysql onde eu quero verificar seID do ramo eano dofinança digite debranch_master são iguais aID do ramo eano doGerente atualize o status emGerente mesa contraID do ramo noGerente

UPDATE manager as m1 
  SET m1.status = 'Y'
  WHERE m1.branch_id IN (
    SELECT m2.branch_id FROM manager as m2 
     WHERE (m2.branch_id,m2.year) IN (
        (
          SELECT DISTINCT branch_id,year 
            FROM `branch_master` 
           WHERE type = 'finance'
        )
     )
  )

mas recebendo erro

A tabela 'm1' é especificada duas vezes, como um destino para 'UPDATE' e como uma fonte separada para dados

questionAnswers(3)

yourAnswerToTheQuestion