diff --git a/src/ast/rewriter/var_subst.cpp b/src/ast/rewriter/var_subst.cpp index 4d4c17865..711ca2b51 100644 --- a/src/ast/rewriter/var_subst.cpp +++ b/src/ast/rewriter/var_subst.cpp @@ -59,7 +59,10 @@ expr_ref var_subst::operator()(expr * n, unsigned num_args, expr * const * args) new_args.push_back(arg); else { unsigned idx = to_var(arg)->get_idx(); - new_args.push_back(m_std_order ? args[num_args - idx - 1] : args[idx]); + expr* new_arg = m_std_order ? args[num_args - idx - 1] : args[idx]; + if (!new_arg) + new_arg = arg; + new_args.push_back(new_arg); } } result = m.mk_app(to_app(n)->get_decl(), new_args.size(), new_args.data());