diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index 4b3db07..dc44b7c 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -19,7 +19,7 @@
 *** Keywords ***
 
 Run IPMI Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     ${resp}=     Run Keyword If   '${IPMI_COMMAND}'=='External'
     ...    Run External IPMI RAW Command   ${args}
     ...          ELSE IF          '${IPMI_COMMAND}'=='Dbus'
@@ -29,7 +29,7 @@
     [return]    ${resp}
 
 Run IPMI Standard Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     ${resp}=     Run Keyword If   '${IPMI_COMMAND}'=='External'
     ...    Run External IPMI Standard Command   ${args}
     ...          ELSE IF          '${IPMI_COMMAND}'=='Dbus'
@@ -40,7 +40,7 @@
     [return]    ${resp}
 
 Run Dbus IPMI RAW Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     ${valueinBytes}=   Byte Conversion  ${args}
     ${cmd}=   Catenate   ${dbushostipmicmd1} ${dbusHostIpmiCmdReceivedMsg}
     ${cmd}=   Catenate   ${cmd} ${valueinBytes}
@@ -49,7 +49,7 @@
     set test variable    ${OUTPUT}     "${output}"
 
 Run Dbus IPMI Standard Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     Copy ipmitool
     ${stdout}    ${stderr}    ${output}=  Execute Command
     ...    /tmp/ipmitool -I dbus ${args}    return_stdout=True
@@ -58,7 +58,7 @@
     [return]    ${stdout}
 
 Run External IPMI RAW Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     ${ipmi_raw_cmd}=   Catenate  SEPARATOR=
     ...    ${IPMI_EXT_CMD}${SPACE}${IPMI_PASSWORD}${SPACE}
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${RAW}${SPACE}${args}
@@ -67,7 +67,7 @@
     [return]    ${output}
 
 Run External IPMI Standard Command
-    [arguments]    ${args}
+    [Arguments]    ${args}
     ${ipmi_cmd}=   Catenate  SEPARATOR=
     ...    ${IPMI_EXT_CMD}${SPACE}${IPMI_PASSWORD}${SPACE}
     ...    ${HOST}${SPACE}${OPENBMC_HOST}${SPACE}${args}
@@ -91,7 +91,7 @@
     ...               Sample dbus  Host IPMI Received Message argument
     ...               byte:0x00 byte:0x04 byte:0x00 byte:0x30
     ...               array:byte:9,0x01,0x00,0x35,0x00,0x00,0x00,0x00,0x00,0x00
-    [arguments]     ${args}
+    [Arguments]     ${args}
     ${argLength}=   Get Length  ${args}
     Set Global Variable  ${arrayByte}   array:byte:
     @{listargs}=   Split String  ${args}
@@ -122,17 +122,17 @@
 
 
 Set NetFn Byte
-   [arguments]    ${word}
+   [Arguments]    ${word}
    ${netfnByteLocal}=  Catenate   byte:${word}
    Set Global Variable  ${netfnByte}  ${netfnByteLocal}
 
 Set Cmd Byte
-   [arguments]    ${word}
+   [Arguments]    ${word}
    ${cmdByteLocal}=  Catenate   byte:${word}
    Set Global Variable  ${cmdByte}  ${cmdByteLocal}
 
 Set Array Byte
-   [arguments]    ${word}
+   [Arguments]    ${word}
    ${arrayByteLocal}=   Catenate   SEPARATOR=  ${arrayByte}  ${word}
    ${arrayByteLocal}=   Catenate   SEPARATOR=  ${arrayByteLocal}   ,
    Set Global Variable  ${arrayByte}   ${arrayByteLocal}
diff --git a/lib/rest_client.robot b/lib/rest_client.robot
index 6bbe21a..6761762 100644
--- a/lib/rest_client.robot
+++ b/lib/rest_client.robot
@@ -130,7 +130,7 @@
     Log    ${msg}    console=True
 
 Read Attribute
-    [arguments]    ${uri}    ${attr}    ${timeout}=10  ${quiet}=${QUIET}
+    [Arguments]    ${uri}    ${attr}    ${timeout}=10  ${quiet}=${QUIET}
     ${resp}=  OpenBMC Get Request  ${uri}/attr/${attr}  timeout=${timeout}
     ...  quiet=${quiet}
     ${content}=     To Json    ${resp.content}
@@ -145,14 +145,14 @@
     ${json}=   to json         ${resp.content}
 
 Read Properties
-    [arguments]    ${uri}    ${timeout}=10
+    [Arguments]    ${uri}    ${timeout}=10
     ${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"]}
 
 Call Method
-    [arguments]  ${uri}  ${method}  ${timeout}=10  ${quiet}=${QUIET}  &{kwargs}
+    [Arguments]  ${uri}  ${method}  ${timeout}=10  ${quiet}=${QUIET}  &{kwargs}
 
     ${base_uri}=    Catenate    SEPARATOR=    ${DBUS_PREFIX}    ${uri}
     ${resp}=  OpenBmc Post Request  ${base_uri}/action/${method}
diff --git a/lib/utils.robot b/lib/utils.robot
index 9c42892..385183e 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -219,7 +219,7 @@
 
 Flash PNOR
     [Documentation]    Calls flash bios update method to flash PNOR image
-    [arguments]    ${pnor_image}
+    [Arguments]    ${pnor_image}
     @{arglist}=   Create List    ${pnor_image}
     ${args}=     Create Dictionary    data=@{arglist}
     ${resp}=  Call Method  ${OPENBMC_BASE_URI}control/flash/bios/  update
@@ -270,7 +270,7 @@
     [Documentation]  Wait for Host to be online. Checks every X seconds
     ...              interval for Y minutes and fails if timed out.
     ...              Default MAX timedout is 10 min, interval 10 seconds.
-    [arguments]      ${max_timeout}=${OPENBMC_REBOOT_TIMEOUT} min
+    [Arguments]      ${max_timeout}=${OPENBMC_REBOOT_TIMEOUT} min
     ...              ${interval}=10 sec
 
     Wait Until Keyword Succeeds
@@ -292,7 +292,7 @@
 
 Initialize DBUS cmd
     [Documentation]  Initialize dbus string with property string to extract
-    [arguments]   ${boot_property}
+    [Arguments]   ${boot_property}
     ${cmd}=     Catenate  ${dbuscmdBase} ${dbuscmdGet} ${dbuscmdString}
     ${cmd}=     Catenate  ${cmd}${boot_property}
     Set Global Variable   ${dbuscmd}     ${cmd}
