diff --git a/cmake/scripts/SquirrelExport.cmake b/cmake/scripts/SquirrelExport.cmake
index 3b5a7f291c..242a724483 100644
--- a/cmake/scripts/SquirrelExport.cmake
+++ b/cmake/scripts/SquirrelExport.cmake
@@ -177,9 +177,9 @@ foreach(LINE IN LISTS SOURCE_LINES)
                 set(API_SELECTED FALSE)
             endif()
             unset(IS_PUBLIC)
-            unset(CLS_PARAM_0)
-            set(CLS_PARAM_1 1)
-            set(CLS_PARAM_2 "x")
+            unset(CLS_PARAMS)
+            set(CLS_ARGC 1)
+            set(CLS_TYPES "x")
             set(CLS_IN_API ${API_SELECTED})
             unset(API_SELECTED)
             set(CLS "${CMAKE_MATCH_2}")
@@ -353,10 +353,10 @@ foreach(LINE IN LISTS SOURCE_LINES)
             string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.PreRegister(engine, \"${API_SUPER_CLS}\");")
         endif()
         if(NOT "${SUPER_CLS}" MATCHES "^ScriptEvent" AND NOT "${CLS}" STREQUAL "ScriptEvent")
-            if("${CLS_PARAM_2}" STREQUAL "v")
+            if("${CLS_TYPES}" STREQUAL "v")
                 string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.AddSQAdvancedConstructor(engine);")
             else()
-                string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.AddConstructor<void (${CLS}::*)(${CLS_PARAM_0}), ${CLS_PARAM_1}>(engine, \"${CLS_PARAM_2}\");")
+                string(APPEND SQUIRREL_EXPORT "\n\tSQ${API_CLS}.AddConstructor<void (${CLS}::*)(${CLS_PARAMS}), ${CLS_ARGC}>(engine, \"${CLS_TYPES}\");")
             endif()
         endif()
         string(APPEND SQUIRREL_EXPORT "\n")
@@ -616,7 +616,7 @@ foreach(LINE IN LISTS SOURCE_LINES)
                 message(WARNING "${SCRIPT_API_FILE}:${NUM_LINE}: Constructor for '${CLS}' has @api. Tag ignored.")
                 unset(API_SELECTED)
             endif()
-            set(CLS_PARAM_0 "${PARAM_S}")
+            set(CLS_PARAMS "${PARAM_S}")
             if(NOT PARAM_S)
                 continue()
             endif()
@@ -672,8 +672,8 @@ foreach(LINE IN LISTS SOURCE_LINES)
         unset(API_SELECTED)
 
         if("${FUNCTYPE}" STREQUAL "${CLS}" AND NOT FUNCNAME)
-            set(CLS_PARAM_1 ${LEN})
-            set(CLS_PARAM_2 "${TYPES}")
+            set(CLS_ARGC ${LEN})
+            set(CLS_TYPES "${TYPES}")
         elseif("${FUNCNAME}" MATCHES "^_" AND NOT "${TYPES}" STREQUAL "v")
         elseif(IS_STATIC)
             list(APPEND STATIC_METHODS "${FUNCNAME}:${TYPES}")