diff --git a/src/problems/ode_problems.jl b/src/problems/ode_problems.jl index da1576d17..d0d382821 100644 --- a/src/problems/ode_problems.jl +++ b/src/problems/ode_problems.jl @@ -474,7 +474,7 @@ end function SplitODEProblem{iip}(f::SplitFunction, u0, tspan, p = NullParameters(); kwargs...) where {iip} if f._func_cache === nothing && iip - _func_cache = DiffCache(u0) + _func_cache = typeof(u0) <: AbstractArray{<:Number} ? DiffCache(u0) : u0 f = remake(f; _func_cache) end ODEProblem(f, u0, tspan, p, SplitODEProblem{iip}(); kwargs...)