diff --git a/pySim/cards.py b/pySim/cards.py
index c87c488..b1adcf2 100644
--- a/pySim/cards.py
+++ b/pySim/cards.py
@@ -23,7 +23,7 @@
 #
 
 from typing import Optional, Dict, Tuple
-from pySim.ts_102_221 import EF_DIR, EF_ICCID
+from pySim.ts_102_221 import EF_DIR
 from pySim.ts_51_011 import DF_GSM
 from pySim.transport import LinkBase
 import abc
@@ -69,14 +69,6 @@
         # callers having to do hasattr('read_aids') ahead of every call.
         return []
 
-    def read_iccid(self) -> Tuple[Optional[Hexstr], SwHexstr]:
-        ef_iccid = EF_ICCID()
-        (res, sw) = self._scc.read_binary(ef_iccid.fid)
-        if sw == '9000':
-            return (dec_iccid(res), sw)
-        else:
-            return (None, sw)
-
 
 class SimCardBase(CardBase):
     """Here we only add methods for commands specified in TS 51.011, without
diff --git a/pySim/legacy/cards.py b/pySim/legacy/cards.py
index e64b5c3..496ce78 100644
--- a/pySim/legacy/cards.py
+++ b/pySim/legacy/cards.py
@@ -59,6 +59,13 @@
         (res, sw) = self._scc.verify_chv(self._adm_chv_num, key)
         return sw
 
+    def read_iccid(self):
+        (res, sw) = self._scc.read_binary(EF['ICCID'])
+        if sw == '9000':
+            return (dec_iccid(res), sw)
+        else:
+            return (None, sw)
+
     def update_iccid(self, iccid):
         data, sw = self._scc.update_binary(EF['ICCID'], enc_iccid(iccid))
         return sw
