}
 
 #ifdef CONFIG_NF_CONNTRACK_TIMEOUT
-extern int nf_conntrack_timeout_init(struct net *net);
-extern void nf_conntrack_timeout_fini(struct net *net);
+extern int nf_conntrack_timeout_init(void);
+extern void nf_conntrack_timeout_fini(void);
 #else
-static inline int nf_conntrack_timeout_init(struct net *net)
+static inline int nf_conntrack_timeout_init(void)
 {
         return 0;
 }
 
-static inline void nf_conntrack_timeout_fini(struct net *net)
+static inline void nf_conntrack_timeout_fini(void)
 {
         return;
 }
 
 #ifdef CONFIG_NF_CONNTRACK_ZONES
        nf_ct_extend_unregister(&nf_ct_zone_extend);
 #endif
+       nf_conntrack_timeout_fini();
        nf_conntrack_ecache_fini();
        nf_conntrack_tstamp_fini();
        nf_conntrack_acct_fini();
        nf_conntrack_proto_fini(net);
        nf_conntrack_labels_fini(net);
        nf_conntrack_helper_fini(net);
-       nf_conntrack_timeout_fini(net);
        nf_conntrack_ecache_pernet_fini(net);
        nf_conntrack_tstamp_pernet_fini(net);
        nf_conntrack_acct_pernet_fini(net);
        if (ret < 0)
                goto err_ecache;
 
+       ret = nf_conntrack_timeout_init();
+       if (ret < 0)
+               goto err_timeout;
+
 #ifdef CONFIG_NF_CONNTRACK_ZONES
        ret = nf_ct_extend_register(&nf_ct_zone_extend);
        if (ret < 0)
 
 #ifdef CONFIG_NF_CONNTRACK_ZONES
 err_extend:
-       nf_conntrack_ecache_fini();
+       nf_conntrack_timeout_fini();
 #endif
+err_timeout:
+       nf_conntrack_ecache_fini();
 err_ecache:
        nf_conntrack_tstamp_fini();
 err_tstamp:
        ret = nf_conntrack_ecache_pernet_init(net);
        if (ret < 0)
                goto err_ecache;
-       ret = nf_conntrack_timeout_init(net);
-       if (ret < 0)
-               goto err_timeout;
        ret = nf_conntrack_helper_init(net);
        if (ret < 0)
                goto err_helper;
 err_labels:
        nf_conntrack_helper_fini(net);
 err_helper:
-       nf_conntrack_timeout_fini(net);
-err_timeout:
        nf_conntrack_ecache_pernet_fini(net);
 err_ecache:
        nf_conntrack_tstamp_pernet_fini(net);
 
        .id     = NF_CT_EXT_TIMEOUT,
 };
 
-int nf_conntrack_timeout_init(struct net *net)
+int nf_conntrack_timeout_init(void)
 {
-       int ret = 0;
-
-       if (net_eq(net, &init_net)) {
-               ret = nf_ct_extend_register(&timeout_extend);
-               if (ret < 0) {
-                       printk(KERN_ERR "nf_ct_timeout: Unable to register "
-                                       "timeout extension.\n");
-                       return ret;
-               }
-       }
-
-       return 0;
+       int ret = nf_ct_extend_register(&timeout_extend);
+       if (ret < 0)
+               pr_err("nf_ct_timeout: Unable to register timeout extension.\n");
+       return ret;
 }
 
-void nf_conntrack_timeout_fini(struct net *net)
+void nf_conntrack_timeout_fini(void)
 {
-       if (net_eq(net, &init_net))
-               nf_ct_extend_unregister(&timeout_extend);
+       nf_ct_extend_unregister(&timeout_extend);
 }