diff --git a/scapy/asn1fields.py b/scapy/asn1fields.py
index 6b23f9bd0ea82968bce82c7ba0fe6950301f4271..296ce0a7848a474bd4b79da90f9f10a0db294184 100644
--- a/scapy/asn1fields.py
+++ b/scapy/asn1fields.py
@@ -492,9 +492,7 @@ class ASN1F_CHOICE(ASN1F_field):
         else:
             s = str(x)
         if self.instantiated_choices:
-            if len(x.aliastypes) != 1:
-                raise ASN1_Error("ASN1F_CHOICE: could not encode object")
-            cls = x.aliastypes[0]
+            cls = type(x)
             if hash(cls) not in x.overload_fields:
                 raise ASN1_Error("ASN1F_CHOICE: could not encode object")
             tags = x.overload_fields[hash(cls)]