diff --git a/src/Taggers.jl b/src/Taggers.jl
index ddae1b3ab8971322b0a945ff86e65fad5793e1d8..09520c158e8b17652265127b54eca57eccf1c818 100644
--- a/src/Taggers.jl
+++ b/src/Taggers.jl
@@ -227,6 +227,7 @@ function parsekwargs!(args, kwargs)
 end
 
 function run(tagger, switch, kwargs)
+    kwargs = Dict{AbstractString, Any}(kwargs)
     kwargs["model_instance"] = tagger.model_instance
     kwargs["sandbox"] = tagger.sandbox
     args = Any[]
@@ -244,6 +245,7 @@ end
 predict(tagger::Tagger; kwargs...) = run(tagger, "predict", kwargs)
 
 function finetune(tagger::Tagger; original_instance=nothing, kwargs...)
+    kwargs = Dict{AbstractString, Any}(kwargs)
     kwargs["original_model_instance"] = original_instance
     ret = run(tagger, "finetune", kwargs)
     @assert isdir(modeldir(tagger))