no lvalue casting

diff --git a/skeletons/OBJECT_IDENTIFIER.c b/skeletons/OBJECT_IDENTIFIER.c
index 535e4e2..3f2454c 100644
--- a/skeletons/OBJECT_IDENTIFIER.c
+++ b/skeletons/OBJECT_IDENTIFIER.c
@@ -653,7 +653,7 @@
 	} state = ST_SKIPSPACE;
 
 	if(!oid_text || oid_txt_length < -1 || (arcs_slots && !arcs)) {
-		if(oid_text_end) (const char *)*oid_text_end = oid_text;
+		if(oid_text_end) *(const char **)oid_text_end = oid_text;
 		errno = EINVAL;
 		return -1;
 	}
@@ -705,7 +705,7 @@
 	} /* for() */
 
 
-	if(oid_text_end) (const char *)*oid_text_end = oid_text;
+	if(oid_text_end) *(const char **)oid_text_end = oid_text;
 
 	/* Finalize last arc */
 	switch(state) {