diff --git a/src/cmd_context/cmd_context.cpp b/src/cmd_context/cmd_context.cpp index ac0287312..b5c99f5ce 100644 --- a/src/cmd_context/cmd_context.cpp +++ b/src/cmd_context/cmd_context.cpp @@ -877,10 +877,11 @@ void cmd_context::insert(symbol const & s, func_decl * f) { } void cmd_context::insert(symbol const & s, psort_decl * p) { + pm().inc_ref(p); if (m_psort_decls.contains(s)) { + pm().dec_ref(p); throw cmd_exception("sort already defined ", s); } - pm().inc_ref(p); m_psort_decls.insert(s, p); if (!m_global_decls) { m_psort_decls_stack.push_back(s);