diff --git a/python/local/ovms_module/ovms/starlet/_starlet.pyx b/python/local/ovms_module/ovms/starlet/_starlet.pyx
index 3473117cce12e5834f606e69ba71b4ec55a6f9b9_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvc3RhcmxldC9fc3RhcmxldC5weXg=..6c109656578f7d868307bf7e95706cfd357611ab_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvc3RhcmxldC9fc3RhcmxldC5weXg= 100755
--- a/python/local/ovms_module/ovms/starlet/_starlet.pyx
+++ b/python/local/ovms_module/ovms/starlet/_starlet.pyx
@@ -3120,8 +3120,9 @@
     cdef dsc_descriptor_s* proposedUserPtr = \
                    DESCFROMOPTSTR(&proposedUserD, proposed_user)
     cdef unsigned short retlen
-    s = sys_verify_proxy(&remNodeD, &remUserD, proposedUserPtr, &localUserD,
-                         &retlen, flags)
+    with nogil:
+        s = sys_verify_proxy(&remNodeD, &remUserD, proposedUserPtr, &localUserD,
+                             &retlen, flags)
     checkStatus(s)
     return s, local_user[:retlen]
 
@@ -3145,9 +3146,10 @@
 
 def hiber():
     "status = hiber()"
-    s = sys_hiber()
+    with nogil:
+        s = sys_hiber()
     checkStatus(s)
     return s
 
 def wfland(unsigned int efn, unsigned int mask):
     "status = wfland(efn, mask)"
@@ -3149,11 +3151,12 @@
     checkStatus(s)
     return s
 
 def wfland(unsigned int efn, unsigned int mask):
     "status = wfland(efn, mask)"
-    s = sys_wfland(efn, mask)
+    with nogil:
+        s = sys_wfland(efn, mask)
     checkStatus(s)
     return s
 
 def wflor(unsigned int efn, unsigned int mask):
     "status = wflor(efn, mask)"
@@ -3155,8 +3158,9 @@
     checkStatus(s)
     return s
 
 def wflor(unsigned int efn, unsigned int mask):
     "status = wflor(efn, mask)"
+    with nogil:
     s = sys_wflor(efn, mask)
     checkStatus(s)
     return s