diff --git a/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyi b/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyi
index 87c1d7ed1e246361e8392557ddec1734335289dc_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvcnRsL3NtZy9fdm1zc21nLnB5aQ==..cc62384de2518b9b5b6cd330df07e553c4216030_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvcnRsL3NtZy9fdm1zc21nLnB5aQ== 100644
--- a/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyi
+++ b/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyi
@@ -412,10 +412,10 @@
 
 def label_border(
     display_id: int,
-    text: bytes | str,
+    text: bytes | str | None,
     position_code: int | None = None,
     units: int | None = None,
     rendition_set: int | None = None,
     rendition_complement: int | None = None,
     character_set: int | None = None,
 ) -> int:
@@ -416,10 +416,10 @@
     position_code: int | None = None,
     units: int | None = None,
     rendition_set: int | None = None,
     rendition_complement: int | None = None,
     character_set: int | None = None,
 ) -> int:
-    """status = label_border(display_id, text, position_code=None, units=None,
+    """status = label_border(display_id, text=None, position_code=None, units=None,
     rendition_set=None,	rendition_complement=None, character_set=None)"""
     ...
 
diff --git a/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyx b/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyx
index 87c1d7ed1e246361e8392557ddec1734335289dc_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvcnRsL3NtZy9fdm1zc21nLnB5eA==..cc62384de2518b9b5b6cd330df07e553c4216030_cHl0aG9uL2xvY2FsL292bXNfbW9kdWxlL292bXMvcnRsL3NtZy9fdm1zc21nLnB5eA== 100755
--- a/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyx
+++ b/python/local/ovms_module/ovms/rtl/smg/_vmssmg.pyx
@@ -757,6 +757,6 @@
 #-----------------------------------
 # label_border
 #-----------------------------------
-def label_border(unsigned int display_id, text, position_code=None,
+def label_border(unsigned int display_id, text=None, position_code=None,
                  units=None, rendition_set=None, rendition_complement=None,
                  character_set=None):
@@ -761,8 +761,8 @@
                  units=None, rendition_set=None, rendition_complement=None,
                  character_set=None):
-    "status = label_border(display_id, text, position_code=None,\
+    "status = label_border(display_id, text=None, position_code=None,\
                          units=None, rendition_set=None,\
 			 rendition_complement=None,\
                          character_set=None)"
     cdef dsc_descriptor_s textD
     text = getstr(text)
@@ -764,9 +764,10 @@
                          units=None, rendition_set=None,\
 			 rendition_complement=None,\
                          character_set=None)"
     cdef dsc_descriptor_s textD
     text = getstr(text)
-    DESCFROMSTR(&textD, text)
+    cdef dsc_descriptor_s* textStr = \
+                    DESCFROMOPTSTR(&textD, text)
     cdef unsigned int ipc
     cdef unsigned int* ipcPtr = UIOPTPTR(&ipc, position_code)
     cdef int iunits
@@ -777,7 +778,7 @@
     cdef unsigned int* ircPtr = UIOPTPTR(&irc, rendition_complement)
     cdef unsigned int ics
     cdef unsigned int* icsPtr = UIOPTPTR(&ics, character_set)
-    s = smg_label_border(&display_id, &textD, ipcPtr, iunitsPtr,
+    s = smg_label_border(&display_id, textStr, ipcPtr, iunitsPtr,
                          irsPtr, ircPtr, icsPtr)
     checkStatus(s)
     return s