diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py
index d9ee3a0..786bd64 100644
--- a/pySim/ts_31_102.py
+++ b/pySim/ts_31_102.py
@@ -36,7 +36,7 @@
 from pySim.ts_102_221 import EF_ARR
 from pySim.tlv import *
 from pySim.filesystem import *
-from pySim.ts_31_102_telecom import DF_PHONEBOOK
+from pySim.ts_31_102_telecom import DF_PHONEBOOK, EF_UServiceTable
 from pySim.construct import *
 from construct import Optional as COptional
 from construct import *
@@ -538,94 +538,6 @@
         super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size)
         self._construct = Int8ub
 
-# TS 31.102 Section 4.2.8
-class EF_UServiceTable(TransparentEF):
-    def __init__(self, fid, sfid, name, desc, size, table, **kwargs):
-        super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size=size, **kwargs)
-        self.table = table
-
-    @staticmethod
-    def _bit_byte_offset_for_service(service: int) -> Tuple[int, int]:
-        i = service - 1
-        byte_offset = i//8
-        bit_offset = (i % 8)
-        return (byte_offset, bit_offset)
-
-    def _decode_bin(self, in_bin):
-        ret = {}
-        for i in range(0, len(in_bin)):
-            byte = in_bin[i]
-            for bitno in range(0, 8):
-                service_nr = i * 8 + bitno + 1
-                ret[service_nr] = {
-                    'activated': True if byte & (1 << bitno) else False
-                }
-                if service_nr in self.table:
-                    ret[service_nr]['description'] = self.table[service_nr]
-        return ret
-
-    def _encode_bin(self, in_json):
-        # compute the required binary size
-        bin_len = 0
-        for srv in in_json.keys():
-            service_nr = int(srv)
-            (byte_offset, bit_offset) = EF_UServiceTable._bit_byte_offset_for_service(
-                service_nr)
-            if byte_offset >= bin_len:
-                bin_len = byte_offset+1
-        # encode the actual data
-        out = bytearray(b'\x00' * bin_len)
-        for srv in in_json.keys():
-            service_nr = int(srv)
-            (byte_offset, bit_offset) = EF_UServiceTable._bit_byte_offset_for_service(
-                service_nr)
-            if in_json[srv]['activated'] == True:
-                bit = 1
-            else:
-                bit = 0
-            out[byte_offset] |= (bit) << bit_offset
-        return out
-
-    def get_active_services(self, cmd):
-        # obtain list of currently active services
-        (service_data, sw) = cmd.lchan.read_binary_dec()
-        active_services = []
-        for s in service_data.keys():
-            if service_data[s]['activated']:
-                active_services.append(s)
-        return active_services
-
-    def ust_service_check(self, cmd):
-        """Check consistency between services of this file and files present/activated"""
-        num_problems = 0
-        # obtain list of currently active services
-        active_services = self.get_active_services(cmd)
-        # iterate over all the service-constraints we know of
-        files_by_service = self.parent.files_by_service
-        try:
-            for s in sorted(files_by_service.keys()):
-                active_str = 'active' if s in active_services else 'inactive'
-                cmd.poutput("Checking service No %u (%s)" % (s, active_str))
-                for f in files_by_service[s]:
-                    should_exist = f.should_exist_for_services(active_services)
-                    try:
-                        cmd.lchan.select_file(f)
-                        sw = None
-                        exists = True
-                    except SwMatchError as e:
-                        sw = str(e)
-                        exists = False
-                    if exists != should_exist:
-                        num_problems += 1
-                        if exists:
-                            cmd.perror("  ERROR: File %s is selectable but should not!" % f)
-                        else:
-                            cmd.perror("  ERROR: File %s is not selectable (%s) but should!" %  (f, sw))
-        finally:
-            # re-select the EF.UST
-            cmd.lchan.select_file(self)
-        return num_problems
-
 class EF_UST(EF_UServiceTable):
     def __init__(self, **kwargs):
         super().__init__(fid='6f38', sfid=0x04, name='EF.UST', desc='USIM Service Table', size={1,17}, table=EF_UST_map, **kwargs)
diff --git a/pySim/ts_31_102_telecom.py b/pySim/ts_31_102_telecom.py
index 5f695ed..5b2162a 100644
--- a/pySim/ts_31_102_telecom.py
+++ b/pySim/ts_31_102_telecom.py
@@ -32,6 +32,96 @@
 from construct import Optional as COptional
 from construct import *
 
+# TS 31.102 Section 4.2.8
+class EF_UServiceTable(TransparentEF):
+    def __init__(self, fid, sfid, name, desc, size, table, **kwargs):
+        super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size=size, **kwargs)
+        self.table = table
+
+    @staticmethod
+    def _bit_byte_offset_for_service(service: int) -> Tuple[int, int]:
+        i = service - 1
+        byte_offset = i//8
+        bit_offset = (i % 8)
+        return (byte_offset, bit_offset)
+
+    def _decode_bin(self, in_bin):
+        ret = {}
+        for i in range(0, len(in_bin)):
+            byte = in_bin[i]
+            for bitno in range(0, 8):
+                service_nr = i * 8 + bitno + 1
+                ret[service_nr] = {
+                    'activated': True if byte & (1 << bitno) else False
+                }
+                if service_nr in self.table:
+                    ret[service_nr]['description'] = self.table[service_nr]
+        return ret
+
+    def _encode_bin(self, in_json):
+        # compute the required binary size
+        bin_len = 0
+        for srv in in_json.keys():
+            service_nr = int(srv)
+            (byte_offset, bit_offset) = EF_UServiceTable._bit_byte_offset_for_service(
+                service_nr)
+            if byte_offset >= bin_len:
+                bin_len = byte_offset+1
+        # encode the actual data
+        out = bytearray(b'\x00' * bin_len)
+        for srv in in_json.keys():
+            service_nr = int(srv)
+            (byte_offset, bit_offset) = EF_UServiceTable._bit_byte_offset_for_service(
+                service_nr)
+            if in_json[srv]['activated'] == True:
+                bit = 1
+            else:
+                bit = 0
+            out[byte_offset] |= (bit) << bit_offset
+        return out
+
+    def get_active_services(self, cmd):
+        # obtain list of currently active services
+        (service_data, sw) = cmd.lchan.read_binary_dec()
+        active_services = []
+        for s in service_data.keys():
+            if service_data[s]['activated']:
+                active_services.append(s)
+        return active_services
+
+    def ust_service_check(self, cmd):
+        """Check consistency between services of this file and files present/activated"""
+        num_problems = 0
+        # obtain list of currently active services
+        active_services = self.get_active_services(cmd)
+        # iterate over all the service-constraints we know of
+        files_by_service = self.parent.files_by_service
+        try:
+            for s in sorted(files_by_service.keys()):
+                active_str = 'active' if s in active_services else 'inactive'
+                cmd.poutput("Checking service No %u (%s)" % (s, active_str))
+                for f in files_by_service[s]:
+                    should_exist = f.should_exist_for_services(active_services)
+                    try:
+                        cmd.lchan.select_file(f)
+                        sw = None
+                        exists = True
+                    except SwMatchError as e:
+                        sw = str(e)
+                        exists = False
+                    if exists != should_exist:
+                        num_problems += 1
+                        if exists:
+                            cmd.perror("  ERROR: File %s is selectable but should not!" % f)
+                        else:
+                            cmd.perror("  ERROR: File %s is not selectable (%s) but should!" %  (f, sw))
+        finally:
+            # re-select the EF.UST
+            cmd.lchan.select_file(self)
+        return num_problems
+
+
+
 # TS 31.102 Section 4.4.2.1
 class EF_PBR(LinFixedEF):
     def __init__(self, fid='4F30', name='EF.PBR', desc='Phone Book Reference', **kwargs):
diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py
index 77eb0f2..ef60a7d 100644
--- a/pySim/ts_31_103.py
+++ b/pySim/ts_31_103.py
@@ -26,7 +26,8 @@
 from pySim.utils import *
 from pySim.tlv import *
 from pySim.ts_51_011 import EF_AD, EF_SMS, EF_SMSS, EF_SMSR, EF_SMSP
-from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred, EF_UServiceTable
+from pySim.ts_31_102 import ADF_USIM, EF_FromPreferred
+from pySim.ts_31_102_telecom import EF_UServiceTable
 import pySim.ts_102_221
 from pySim.ts_102_221 import EF_ARR
 
