diff --git a/example/resources.conf b/example/resources.conf
index fb2ac9f..cb730f5 100644
--- a/example/resources.conf
+++ b/example/resources.conf
@@ -69,32 +69,28 @@
 modem:
 - label: sierra_1st
   path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.2'
-  imsi: '901700000009031'
   ki: '80A37E6FDEA931EAC92FFA5F671EFEAD'
   auth_algo: 'comp128v1'
   ciphers: [a5_0, a5_1]
-  features: ['sms', 'voice', 'ussd', 'gprs']
+  features: ['sms', 'voice', 'ussd', 'gprs', 'sim']
 
 - label: sierra_2nd
   path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.3'
-  imsi: '901700000009029'
   ki: '00969E283349D354A8239E877F2E0866'
   auth_algo: 'comp128v1'
   ciphers: [a5_0, a5_1]
-  features: ['sms', 'voice', 'ussd', 'gprs']
+  features: ['sms', 'voice', 'ussd', 'gprs', 'sim']
 
 - label: ec20
   path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.6'
-  imsi: '901700000009030'
   ki: 'BB70807226393CDBAC8DD3439FF54252'
   auth_algo: 'comp128v1'
   ciphers: [a5_0, a5_1]
-  features: ['sms', 'ussd', 'gprs']
+  features: ['sms', 'ussd', 'gprs', 'sim']
 
 - label: gobi2k
   path: '/sys/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1.5'
-  imsi: '901700000009032'
   ki: '2F70DCA43C45ACB97E947FDD0C7CA30A'
   auth_algo: 'comp128v1'
   ciphers: [a5_0, a5_1]
-  features: ['gprs']
+  features: ['gprs', 'sim']
diff --git a/src/osmo_gsm_tester/modem.py b/src/osmo_gsm_tester/modem.py
index 96b65d8..7fcf134 100644
--- a/src/osmo_gsm_tester/modem.py
+++ b/src/osmo_gsm_tester/modem.py
@@ -41,6 +41,7 @@
 I_CALLMGR = 'org.ofono.VoiceCallManager'
 I_CALL = 'org.ofono.VoiceCall'
 I_SS = 'org.ofono.SupplementaryServices'
+I_SIMMGR = 'org.ofono.SimManager'
 
 # See https://github.com/intgr/ofono/blob/master/doc/network-api.txt#L78
 NETREG_ST_REGISTERED = 'registered'
@@ -342,6 +343,7 @@
     msisdn = None
     sms_received_list = None
     _ki = None
+    _imsi = None
 
     CTX_PROT_IPv4 = 'ip'
     CTX_PROT_IPv6 = 'ipv6'
@@ -423,10 +425,23 @@
         self.msisdn = msisdn
 
     def imsi(self):
-        imsi = self.conf.get('imsi')
-        if not imsi:
-            raise log.Error('No IMSI')
-        return imsi
+        if self._imsi is None:
+            if 'sim' in self.features():
+                if not self.is_powered():
+                        self.set_powered()
+                # wait for SimManager iface to appear after we power on
+                event_loop.wait(self, self.dbus.has_interface, I_SIMMGR, timeout=10)
+                simmgr = self.dbus.interface(I_SIMMGR)
+                # If properties are requested quickly, it may happen that Sim property is still not there.
+                event_loop.wait(self, lambda: simmgr.GetProperties().get('SubscriberIdentity', None) is not None, timeout=10)
+                props = simmgr.GetProperties()
+                self.dbg('got SIM properties', props)
+                self._imsi = props.get('SubscriberIdentity', None)
+            else:
+                self._imsi = self.conf.get('imsi')
+            if self._imsi is None:
+                raise log.Error('No IMSI')
+        return self._imsi
 
     def set_ki(self, ki):
         self._ki = ki
@@ -447,6 +462,7 @@
         req_ifaces += (I_SMS,) if 'sms' in self.features() else ()
         req_ifaces += (I_SS,) if 'ussd' in self.features() else ()
         req_ifaces += (I_CONNMGR,) if 'gprs' in self.features() else ()
+        req_ifaces += (I_SIMMGR,) if 'sim' in self.features() else ()
         return req_ifaces
 
     def _on_netreg_property_changed(self, name, value):
diff --git a/src/osmo_gsm_tester/schema.py b/src/osmo_gsm_tester/schema.py
index 6c0b2b7..72649cc 100644
--- a/src/osmo_gsm_tester/schema.py
+++ b/src/osmo_gsm_tester/schema.py
@@ -95,7 +95,7 @@
     raise ValueError('Unknown Cipher value: %r' % val)
 
 def modem_feature(val):
-    if val in ('sms', 'gprs', 'voice', 'ussd'):
+    if val in ('sms', 'gprs', 'voice', 'ussd', 'sim'):
         return
     raise ValueError('Unknown Modem Feature: %r' % val)
 
