diff --git a/lib/boot/reboots.robot b/lib/boot/reboots.robot
index c931ab6..314e10b 100644
--- a/lib/boot/reboots.robot
+++ b/lib/boot/reboots.robot
@@ -64,7 +64,7 @@
 
     ${uptime}  ${idle_time}=  Split String  ${uptime_string}  ${SPACE}
 
-    [return]  ${uptime}
+    [Return]  ${uptime}
 
 Reboot BMC
     Start Command  /sbin/reboot
diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index dc44b7c..e069543 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -26,7 +26,7 @@
     ...    Run Dbus IPMI RAW Command   ${args}
     ...          ELSE             Fail
     ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Run IPMI Standard Command
     [Arguments]    ${args}
@@ -37,7 +37,7 @@
     ...          ELSE             Fail
     ...    msg=Invalid IPMI Command type provided : ${IPMI_COMMAND}
 
-    [return]    ${resp}
+    [Return]    ${resp}
 
 Run Dbus IPMI RAW Command
     [Arguments]    ${args}
@@ -55,7 +55,7 @@
     ...    /tmp/ipmitool -I dbus ${args}    return_stdout=True
     ...    return_stderr= True    return_rc=True
     Should Be Equal    ${output}    ${0}    msg=${stderr}
-    [return]    ${stdout}
+    [Return]    ${stdout}
 
 Run External IPMI RAW Command
     [Arguments]    ${args}
@@ -64,7 +64,7 @@
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${RAW}${SPACE}${args}
     ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_raw_cmd}
     Should Be Equal    ${rc}    ${0}    msg=${output}
-    [return]    ${output}
+    [Return]    ${output}
 
 Run External IPMI Standard Command
     [Arguments]    ${args}
@@ -73,7 +73,7 @@
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${args}
     ${rc}    ${output}=    Run and Return RC and Output    ${ipmi_cmd}
     Should Be Equal    ${rc}    ${0}    msg=${output}
-    [return]   ${output}
+    [Return]   ${output}
 
 
 Byte Conversion
@@ -118,7 +118,7 @@
 #   Equivalent dbus-send argument for smaller IPMI raw command:
 #   byte:0x00 byte:0x06 byte:0x00 byte:0x36
     Run Keyword if   ${argLength} == 9     Return from Keyword    ${valueinBytesWithoutArray}
-    [return]    ${valueinBytesWithArray}
+    [Return]    ${valueinBytesWithArray}
 
 
 Set NetFn Byte
diff --git a/lib/list_utils.robot b/lib/list_utils.robot
index 472294b..2c3671c 100644
--- a/lib/list_utils.robot
+++ b/lib/list_utils.robot
@@ -29,4 +29,4 @@
 
     @{intersected_list}=  Remove Duplicates  ${intersected_list}
 
-    [return]  @{intersected_list}
+    [Return]  @{intersected_list}
diff --git a/lib/openbmc_ffdc_utils.robot b/lib/openbmc_ffdc_utils.robot
index 1eba969..c3d85bf 100644
--- a/lib/openbmc_ffdc_utils.robot
+++ b/lib/openbmc_ffdc_utils.robot
@@ -31,7 +31,7 @@
     ${suite_name}=     Catenate  SEPARATOR=    ${FFDC_TIME}_   ${suite_name}
     ${test_name}=      Get strip string   ${TEST_NAME}
     ${test_name}=   Catenate  SEPARATOR=  ${FFDC_TIME}_   ${test_name}
-    [return]  ${suite_name}   ${test_name}
+    [Return]  ${suite_name}   ${test_name}
 
 
 Create FFDC Directory
@@ -57,7 +57,7 @@
     [Documentation]     Get the current time stamp data
     ${cur_time}=    Get Current Date   result_format=%Y-%m-%d %H:%M:%S:%f
     ${cur_time}=    Get strip string   ${cur_time}
-    [return]   ${cur_time}
+    [Return]   ${cur_time}
 
 
 Header Message
diff --git a/lib/rest_client.robot b/lib/rest_client.robot
index 6761762..c7d78df 100644
--- a/lib/rest_client.robot
+++ b/lib/rest_client.robot
@@ -134,7 +134,7 @@
     ${resp}=  OpenBMC Get Request  ${uri}/attr/${attr}  timeout=${timeout}
     ...  quiet=${quiet}
     ${content}=     To Json    ${resp.content}
-    [return]    ${content["data"]}
+    [Return]    ${content["data"]}
 
 Write Attribute
     [Arguments]    ${uri}      ${attr}    ${timeout}=10    &{kwargs}
@@ -149,7 +149,7 @@
     ${resp}=   OpenBMC Get Request    ${uri}    timeout=${timeout}
     Should Be Equal As Strings    ${resp.status_code}    ${HTTP_OK}
     ${content}=     To Json    ${resp.content}
-    [return]    ${content["data"]}
+    [Return]    ${content["data"]}
 
 Call Method
     [Arguments]  ${uri}  ${method}  ${timeout}=10  ${quiet}=${QUIET}  &{kwargs}
@@ -157,4 +157,4 @@
     ${base_uri}=    Catenate    SEPARATOR=    ${DBUS_PREFIX}    ${uri}
     ${resp}=  OpenBmc Post Request  ${base_uri}/action/${method}
     ...  timeout=${timeout}  quiet=${quiet}  &{kwargs}
-    [return]     ${resp}
+    [Return]     ${resp}
diff --git a/lib/utils.robot b/lib/utils.robot
index 6c8099c..fe4e0f4 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -51,7 +51,7 @@
 
     ${state}=  Read Attribute  ${OPENBMC_BASE_URI}sensors/host/BootProgress
     ...  value  quiet=${quiet}
-    [return]  ${state}
+    [Return]  ${state}
 
 Is Power On
     ${state}=  Get Power State
@@ -187,7 +187,7 @@
     ...        data=${args}  quiet=${quiet}
     Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
     ${content}=  to json  ${resp.content}
-    [return]  ${content["data"]}
+    [Return]  ${content["data"]}
 
 Get Power State
     [Documentation]  Returns the power state as an integer. Either 0 or 1.
@@ -200,7 +200,7 @@
     ...        data=${args}  quiet=${quiet}
     Should be equal as strings  ${resp.status_code}  ${HTTP_OK}
     ${content}=  to json  ${resp.content}
-    [return]  ${content["data"]}
+    [Return]  ${content["data"]}
 
 Clear BMC Record Log
     [Documentation]  Clears all the event logs on the BMC. This would be
@@ -231,7 +231,7 @@
     [Documentation]  Returns the status of the flash BIOS API as a string. For
     ...              example 'Flashing', 'Flash Done', etc
     ${data}=      Read Properties     ${OPENBMC_BASE_URI}control/flash/bios
-    [return]    ${data['status']}
+    [Return]    ${data['status']}
 
 Is PNOR Flashing
     [Documentation]  Get BIOS 'Flashing' status. This indicates that PNOR
@@ -288,7 +288,7 @@
     ${alive}=   Run Keyword and Return Status
     ...    Open Connection And Log In
     Return From Keyword If   '${alive}' == '${False}'    ${False}
-    [return]    ${True}
+    [Return]    ${True}
 
 Flush REST Sessions
     [Documentation]   Removes all the active session objects
@@ -419,7 +419,7 @@
     [Arguments]    ${i_macaddress}
 
     ${mac_hex}=  Catenate  0x${i_macaddress.replace(':', ' 0x')}
-    [return]    ${mac_hex}
+    [Return]    ${mac_hex}
 
 IP Address To Hex String
     [Documentation]   Converts IP address into hex format.
@@ -438,7 +438,7 @@
     \   Set List Value    ${ip}    ${index}    ${hex}
     \   ${index}=  Set Variable    ${index + 1}
     ${ip_hex}=  Catenate    @{ip}
-    [return]    ${ip_hex}
+    [Return]    ${ip_hex}
 
 BMC CPU Performance Check
    [Documentation]   Minimal 10% of proc should be free in this instance
@@ -493,7 +493,7 @@
 
     ${list}=   Get Dictionary Keys   ${resp}
     ${resp}=   Get Matches   ${list}   regexp=^.*[0-9a-z_].${endpoint}[0-9]*$
-    [return]   ${resp}
+    [Return]   ${resp}
 
 Check Zombie Process
     [Documentation]    Check if any defunct process exist or not on BMC
