if (!card->ipato.enabled)
                return 0;
+       if (addr->type != QETH_IP_TYPE_NORMAL)
+               return 0;
 
        qeth_l3_convert_addr_to_bits((u8 *) &addr->u, addr_bits,
                                  (addr->proto == QETH_PROT_IPV4)? 4:16);
                memcpy(addr, tmp_addr, sizeof(struct qeth_ipaddr));
                addr->ref_counter = 1;
 
-               if (addr->type == QETH_IP_TYPE_NORMAL  &&
-                               qeth_l3_is_addr_covered_by_ipato(card, addr)) {
+               if (qeth_l3_is_addr_covered_by_ipato(card, addr)) {
                        QETH_CARD_TEXT(card, 2, "tkovaddr");
                        addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG;
                }
 
        card->ipato.enabled = enable;
 
        hash_for_each(card->ip_htable, i, addr, hnode) {
+               if (addr->type != QETH_IP_TYPE_NORMAL)
+                       continue;
                if (!enable)
                        addr->set_flags &= ~QETH_IPA_SETIP_TAKEOVER_FLAG;
-               else if (addr->type == QETH_IP_TYPE_NORMAL &&
-                        qeth_l3_is_addr_covered_by_ipato(card, addr))
+               else if (qeth_l3_is_addr_covered_by_ipato(card, addr))
                        addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG;
        }
 out: