diff --git a/timm/models/senet.py b/timm/models/senet.py
index dd9b149b..9884c614 100644
--- a/timm/models/senet.py
+++ b/timm/models/senet.py
@@ -404,62 +404,62 @@ default_cfgs = generate_default_cfgs({
 @register_model
 def legacy_seresnet18(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNetBlock, layers=[2, 2, 2, 2], groups=1, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnet18', pretrained, **model_args)
+        block=SEResNetBlock, layers=[2, 2, 2, 2], groups=1, reduction=16)
+    return _create_senet('legacy_seresnet18', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnet34(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNetBlock, layers=[3, 4, 6, 3], groups=1, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnet34', pretrained, **model_args)
+        block=SEResNetBlock, layers=[3, 4, 6, 3], groups=1, reduction=16)
+    return _create_senet('legacy_seresnet34', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnet50(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNetBottleneck, layers=[3, 4, 6, 3], groups=1, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnet50', pretrained, **model_args)
+        block=SEResNetBottleneck, layers=[3, 4, 6, 3], groups=1, reduction=16)
+    return _create_senet('legacy_seresnet50', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnet101(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNetBottleneck, layers=[3, 4, 23, 3], groups=1, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnet101', pretrained, **model_args)
+        block=SEResNetBottleneck, layers=[3, 4, 23, 3], groups=1, reduction=16)
+    return _create_senet('legacy_seresnet101', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnet152(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNetBottleneck, layers=[3, 8, 36, 3], groups=1, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnet152', pretrained, **model_args)
+        block=SEResNetBottleneck, layers=[3, 8, 36, 3], groups=1, reduction=16)
+    return _create_senet('legacy_seresnet152', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_senet154(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
         block=SEBottleneck, layers=[3, 8, 36, 3], groups=64, reduction=16,
-        downsample_kernel_size=3, downsample_padding=1,  inplanes=128, input_3x3=True, **kwargs)
-    return _create_senet('legacy_senet154', pretrained, **model_args)
+        downsample_kernel_size=3, downsample_padding=1,  inplanes=128, input_3x3=True)
+    return _create_senet('legacy_senet154', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnext26_32x4d(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNeXtBottleneck, layers=[2, 2, 2, 2], groups=32, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnext26_32x4d', pretrained, **model_args)
+        block=SEResNeXtBottleneck, layers=[2, 2, 2, 2], groups=32, reduction=16)
+    return _create_senet('legacy_seresnext26_32x4d', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnext50_32x4d(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNeXtBottleneck, layers=[3, 4, 6, 3], groups=32, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnext50_32x4d', pretrained, **model_args)
+        block=SEResNeXtBottleneck, layers=[3, 4, 6, 3], groups=32, reduction=16)
+    return _create_senet('legacy_seresnext50_32x4d', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
 def legacy_seresnext101_32x4d(pretrained=False, **kwargs) -> SENet:
     model_args = dict(
-        block=SEResNeXtBottleneck, layers=[3, 4, 23, 3], groups=32, reduction=16, **kwargs)
-    return _create_senet('legacy_seresnext101_32x4d', pretrained, **model_args)
+        block=SEResNeXtBottleneck, layers=[3, 4, 23, 3], groups=32, reduction=16)
+    return _create_senet('legacy_seresnext101_32x4d', pretrained, **dict(model_args, **kwargs))
diff --git a/timm/models/sknet.py b/timm/models/sknet.py
index 01565875..b12df231 100644
--- a/timm/models/sknet.py
+++ b/timm/models/sknet.py
@@ -181,8 +181,8 @@ def skresnet18(pretrained=False, **kwargs) -> ResNet:
     sk_kwargs = dict(rd_ratio=1 / 8, rd_divisor=16, split_input=True)
     model_args = dict(
         block=SelectiveKernelBasic, layers=[2, 2, 2, 2], block_args=dict(sk_kwargs=sk_kwargs),
-        zero_init_last=False, **kwargs)
-    return _create_skresnet('skresnet18', pretrained, **model_args)
+        zero_init_last=False)
+    return _create_skresnet('skresnet18', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
@@ -195,8 +195,8 @@ def skresnet34(pretrained=False, **kwargs) -> ResNet:
     sk_kwargs = dict(rd_ratio=1 / 8, rd_divisor=16, split_input=True)
     model_args = dict(
         block=SelectiveKernelBasic, layers=[3, 4, 6, 3], block_args=dict(sk_kwargs=sk_kwargs),
-        zero_init_last=False, **kwargs)
-    return _create_skresnet('skresnet34', pretrained, **model_args)
+        zero_init_last=False)
+    return _create_skresnet('skresnet34', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
@@ -209,8 +209,8 @@ def skresnet50(pretrained=False, **kwargs) -> ResNet:
     sk_kwargs = dict(split_input=True)
     model_args = dict(
         block=SelectiveKernelBottleneck, layers=[3, 4, 6, 3], block_args=dict(sk_kwargs=sk_kwargs),
-        zero_init_last=False, **kwargs)
-    return _create_skresnet('skresnet50', pretrained, **model_args)
+        zero_init_last=False)
+    return _create_skresnet('skresnet50', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
@@ -223,8 +223,8 @@ def skresnet50d(pretrained=False, **kwargs) -> ResNet:
     sk_kwargs = dict(split_input=True)
     model_args = dict(
         block=SelectiveKernelBottleneck, layers=[3, 4, 6, 3], stem_width=32, stem_type='deep', avg_down=True,
-        block_args=dict(sk_kwargs=sk_kwargs), zero_init_last=False, **kwargs)
-    return _create_skresnet('skresnet50d', pretrained, **model_args)
+        block_args=dict(sk_kwargs=sk_kwargs), zero_init_last=False)
+    return _create_skresnet('skresnet50d', pretrained, **dict(model_args, **kwargs))
 
 
 @register_model
@@ -235,6 +235,6 @@ def skresnext50_32x4d(pretrained=False, **kwargs) -> ResNet:
     sk_kwargs = dict(rd_ratio=1/16, rd_divisor=32, split_input=False)
     model_args = dict(
         block=SelectiveKernelBottleneck, layers=[3, 4, 6, 3], cardinality=32, base_width=4,
-        block_args=dict(sk_kwargs=sk_kwargs), zero_init_last=False, **kwargs)
-    return _create_skresnet('skresnext50_32x4d', pretrained, **model_args)
+        block_args=dict(sk_kwargs=sk_kwargs), zero_init_last=False)
+    return _create_skresnet('skresnext50_32x4d', pretrained, **dict(model_args, **kwargs))