ret = ebt_register_watcher(&log);
        if (ret < 0)
                return ret;
-       ret = nf_log_register(PF_BRIDGE, &ebt_log_logger);
-       if (ret < 0 && ret != -EEXIST)
-               ebt_unregister_watcher(&log);
-       return ret;
+       nf_log_register(PF_BRIDGE, &ebt_log_logger);
+       return 0;
 }
 
 static void __exit ebt_log_fini(void)
 
        else if ((ret = ebt_register_watcher(&ulog)))
                sock_release(ebtulognl->sk_socket);
 
-       if (nf_log_register(PF_BRIDGE, &ebt_ulog_logger) < 0) {
-               printk(KERN_WARNING "ebt_ulog: not logging via ulog "
-                      "since somebody else already registered for PF_BRIDGE\n");
-               /* we cannot make module load fail here, since otherwise
-                * ebtables userspace would abort */
-       }
+       if (ret == 0)
+               nf_log_register(PF_BRIDGE, &ebt_ulog_logger);
 
        return ret;
 }
 
        ret = xt_register_target(&ipt_log_reg);
        if (ret < 0)
                return ret;
-       ret = nf_log_register(PF_INET, &ipt_log_logger);
-       if (ret < 0 && ret != -EEXIST)
-               xt_unregister_target(&ipt_log_reg);
-       return ret;
+       nf_log_register(PF_INET, &ipt_log_logger);
+       return 0;
 }
 
 static void __exit ipt_log_fini(void)
 
        ret = xt_register_target(&ip6t_log_reg);
        if (ret < 0)
                return ret;
-       ret = nf_log_register(PF_INET6, &ip6t_logger);
-       if (ret < 0 && ret != -EEXIST)
-               xt_unregister_target(&ip6t_log_reg);
-       return ret;
+       nf_log_register(PF_INET6, &ip6t_logger);
+       return 0;
 }
 
 static void __exit ip6t_log_fini(void)