diff --git a/lib/modules/Remote.pmod/context.pike b/lib/modules/Remote.pmod/context.pike
index 374b80ffcbcffec92570320f20ffe45c2fc222de..f13789590177f6b00db24dea5334fe7cdcfafb3f 100644
--- a/lib/modules/Remote.pmod/context.pike
+++ b/lib/modules/Remote.pmod/context.pike
@@ -97,7 +97,7 @@ array encode(mixed val)
 {
   if (intp(val) || floatp(val))
     return ({ CTX_OTHER, val });
-  if (objectp(val))
+  if (objectp(val) && !val->_encode_object)
     return ({ CTX_OBJECT, id_for(val) });
   if (functionp(val) || programp(val))
     return ({ CTX_FUNCTION, id_for(val) });