diff --git a/src/solve.jl b/src/solve.jl index 4e23cfd12..4249262ea 100644 --- a/src/solve.jl +++ b/src/solve.jl @@ -1421,7 +1421,8 @@ end hasdualpromote(u0, t) = true function promote_f(f::SplitFunction, ::Val{specialize}, u0, p, t) where {specialize} - typeof(f._func_cache) === typeof(u0) && isinplace(f) ? f : + (typeof(f._func_cache) === typeof(u0) || + typeof(f._func_cache) == SciMLBase.PreallocationTools.LazyBufferCache) && isinplace(f) ? f : remake(f, _func_cache = zero(u0)) end prepare_alg(alg, u0, p, f) = alg