diff --git a/lib/vpd_utils.py b/lib/vpd_utils.py
index 4d15173..8a7f583 100644
--- a/lib/vpd_utils.py
+++ b/lib/vpd_utils.py
@@ -44,5 +44,8 @@
 
     bsu_options = fa.args_to_objects(bsu_options)
     out_buf, stderr, rc = bsu.bmc_execute_command('vpd-tool ' + option_string, **bsu_options)
-    out_buf = json.loads(out_buf)
-    return out_buf
+
+    # Only return output if its a VPD read command.
+    if '-r' in option_string:
+        out_buf = json.loads(out_buf)
+        return out_buf
diff --git a/openpower/vpd/test_vpd_tool.robot b/openpower/vpd/test_vpd_tool.robot
index 29e0b73..a317c39 100644
--- a/openpower/vpd/test_vpd_tool.robot
+++ b/openpower/vpd/test_vpd_tool.robot
@@ -55,7 +55,10 @@
 
     ${components}=  Get Dictionary Keys  ${VPD_DETAILS}
     FOR  ${component}  IN  @{components}
-        Verify VPD Field Write Operation  ${component}
+        # VPD fields "DR", "CC" and "FN" will be added later.
+        @{vpd_fields}=  Create List  SN  PN
+        ${field}=  Evaluate  random.choice($vpd_fields)  random
+        Verify VPD Field Write Operation  ${component}  ${field}
     END
 
 
@@ -126,24 +129,35 @@
 
 
 Verify VPD Field Write Operation
-    [Documentation]  Verify writing all VPD fields for given compoment via vpdtool.
-    [Arguments]  ${component}
+    [Documentation]  Verify writing VPD fields for given component via vpdtool.
+    [Arguments]  ${component}  ${field}
+    [Teardown]  Restore VPD Value  ${component}  ${field}  ${old_field_value}
     # Description of arguments:
-    # component       VDP component (e.g. /system/chassis/motherboard/vdd_vrm1).
+    # component       VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).
+    # field           VPD component field (e.g. PN, SN)
 
-    # Verification of "CC" and "FN" will be added later.
-    @{vpd_fields}=  Create List  DR  SN  PN
+    ${vpd_records}=  Vpdtool  -r -O ${component} -R VINI -K ${field}
+    ${old_field_value}=  Set Variable  ${vpd_records['${component}']['${field}']}
 
-    ${field}=  Evaluate  random.choice($vpd_fields)  random
+    ${write_value}=  Set Variable If
+    ...  '${field}' == 'DR'  ${DR_WRITE_VALUE}
+    ...  '${field}' == 'PN'  ${PN_WRITE_VALUE}
+    ...  '${field}' == 'SN'  ${SN_WRITE_VALUE}
 
-    FOR  ${fields}  IN   @{vpd_fields}
-        ${write_value}=  Set Variable If
-        ...  '${field}' == 'DR'  ${DR_WRITE_VALUE}
-        ...  '${field}' == 'PN'  ${PN_WRITE_VALUE}
-        ...  '${field}' == 'SN'  ${SN_WRITE_VALUE}
-        Vpdtool  -w -O ${component} -R VINI -K ${field} --value ${write_value}
-        Verify VPD Field Value  ${component}  ${fields}
-    END
+    Vpdtool  -w -O ${component} -R VINI -K ${field} --value ${write_value}
+
+    Verify VPD Field Value  ${component}  ${field}
+
+
+Restore VPD Value
+    [Documentation]  Restore VPD's field value of given component.
+    [Arguments]  ${component}  ${field}  ${value}
+    # Description of arguments:
+    # component       VPD component (e.g. /system/chassis/motherboard/vdd_vrm1).
+    # field           VPD component field (e.g. PN, SN)
+    # value           VPD value to be restore.
+
+    Vpdtool  -w -O ${component} -R VINI -K ${field} --value ${value}
 
 
 Verify VPD Field Value
