diff --git a/src/encode.c b/src/encode.c index 4f61d6dc6ff1a8ecef545201d06e8d730dba00b7..4d1b31040dcd56fe034893d92d4cf2911d905e75 100644 --- a/src/encode.c +++ b/src/encode.c @@ -1011,7 +1011,9 @@ static void encode_value2(struct svalue *val, struct encode_data *data, int forc { int has_local_c_methods = 0; for (d = 0; d < p->num_identifiers; d++) { - if (IDENTIFIER_IS_C_FUNCTION(p->identifiers[d].identifier_flags)) { + struct identifier *id = p->identifiers + d; + if (IDENTIFIER_IS_C_FUNCTION(id->identifier_flags) && + !low_is_variant_dispatcher(id)) { has_local_c_methods = 1; break; }