Этот блок кода - корявый костыль, который ещё и дублируется.