diff --git a/tests/functional/Voltha_ErrorScenarios.robot b/tests/functional/Voltha_ErrorScenarios.robot
index f8083b3..47527cb 100644
--- a/tests/functional/Voltha_ErrorScenarios.robot
+++ b/tests/functional/Voltha_ErrorScenarios.robot
@@ -57,7 +57,8 @@
 *** Test Cases ***
 Adding the same OLT before and after enabling the device
     [Documentation]    Create OLT, Create the same OLT again and Check for the Error message
-    [Tags]    VOL-2405   VOL-2406   AddSameOLT   functional    released
+    ...                VOL-2405  VOL-2406
+    [Tags]    AddSameOLT   functional    released
     [Setup]    Run Keywords    Announce Message    START TEST AddSameOLT
     ...        AND             Start Logging    AddSameOLT
     [Teardown]   Run Keywords     Collect Logs
@@ -66,6 +67,7 @@
     # Add OLT device
     #setup
     Run Keyword If    ${has_dataplane}    Delete Device and Verify
+    Run Keyword and Ignore Error   Collect Logs
     ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
     Set Suite Variable    ${olt_device_id}
     ${timeout}    Set Variable    180s
@@ -96,6 +98,7 @@
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DisableInvalidDevice
     ...           AND             Announce Message    END TEST DisableInvalidDevice
+    Run Keyword and Ignore Error   Collect Logs
     ${rc}  ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device list -o json
     Should Be Equal As Integers    ${rc}    0
     ${jsondata}=    To Json    ${output}
@@ -125,13 +128,16 @@
     [Documentation]    Try deleting OL/ONU before disabling and check error message
     ...    Assuming devices are already created, up and running fine; test1 or sanity was
     ...    executed where all the ONUs are authenticated/DHCP/pingable
-    [Tags]    VOL-2411    DeleteBeforeDisableCheck    notready
+    ...    VOL-2411
+    [Tags]    functional    DeleteBeforeDisableCheck    notready
     [Setup]   Run Keywords    Announce Message    START TEST DeleteBeforeDisableCheck
     ...       AND             Start Logging    DeleteBeforeDisableCheck
     [Teardown]    Run Keywords    Collect Logs
     ...           AND             Stop Logging    DeleteBeforeDisableCheck
     ...           AND             Announce Message    END TEST DeleteBeforeDisableCheck
     #validate olt states
+    Run Keyword If    ${has_dataplane}    Clean Up Linux
+    Wait Until Keyword Succeeds    ${timeout}    2s    Perform Sanity Test
     Wait Until Keyword Succeeds    ${timeout}    5s    Validate OLT Device    ENABLED    ACTIVE    REACHABLE
     ...    ${olt_serial_number}
     ${rc}    ${output}=    Run and Return Rc and Output    ${VOLTCTL_CONFIG}; voltctl device delete ${olt_device_id}
@@ -155,11 +161,11 @@
         ...    ENABLED    ACTIVE    REACHABLE
         ...    ${src['onu']}    onu=True    onu_reason=omci-flows-pushed
     END
-    Run Keyword and Ignore Error   Collect Logs
 
 Check disabling of pre-provisioned OLT before enabling
     [Documentation]    Create OLT, disable same OLT, check error message and validates ONU
-    [Tags]    VOL-2414    DisablePreprovisionedOLTCheck    notready
+    ...                VOL-2414
+    [Tags]    functional    DisablePreprovisionedOLTCheck
     [Setup]   Run Keywords    Announce Message    START TEST DisablePreprovisionedOLTCheck
     ...       AND             Start Logging    DisablePreprovisionedOLTCheck
     ...       AND             Delete Device and Verify
@@ -167,6 +173,7 @@
     ...           AND             Stop Logging    DisablePreprovisionedOLTCheck
     ...           AND             Announce Message    END TEST DisablePreprovisionedOLTCheck
     Run Keyword If    ${has_dataplane}    Sleep    180s
+    Run Keyword and Ignore Error    Collect Logs
     #create/preprovision device
     ${olt_device_id}=    Create Device    ${olt_ip}    ${OLT_PORT}
     Set Suite Variable    ${olt_device_id}
@@ -191,7 +198,6 @@
 	...    ENABLED    ACTIVE    REACHABLE
 	...    ${src['onu']}    onu=True    onu_reason=omci-flows-pushed
     END
-    Run Keyword and Ignore Error   Collect Logs
 
 Disable and Delete the logical device directly
     [Documentation]    Disable and delete the logical device directly is not possible
diff --git a/tests/functional/Voltha_FailureScenarios.robot b/tests/functional/Voltha_FailureScenarios.robot
index 98c243d..f214e96 100644
--- a/tests/functional/Voltha_FailureScenarios.robot
+++ b/tests/functional/Voltha_FailureScenarios.robot
@@ -62,11 +62,11 @@
     ...    controls the power off/on ONUs/OLT remotely (simulating a physical reboot)
     ...    VOL-2634
     [Tags]    functional   PowerSwitch
-    [Setup]    Run Keywords    Announce Message    START TEST PowerSwitch
-    ...        AND             Start Logging    PowerSwitch
+    [Setup]    Run Keywords    Announce Message    START TEST ONUreboot_PowerSwitch
+    ...        AND             Start Logging    ONUreboot_PowerSwitch
     [Teardown]    Run Keywords    Collect Logs
-    ...           AND             Stop Logging    PowerSwitch
-    ...           AND             Announce Message    END TEST PowerSwitch
+    ...           AND             Stop Logging    ONUreboot_PowerSwitch
+    ...           AND             Announce Message    END TEST ONUreboot_PowerSwitch
     # Add OLT device
     setup
     # Performing Sanity Test to make sure subscribers are all AUTH+DHCP and pingable
diff --git a/tests/functional/Voltha_PODTests.robot b/tests/functional/Voltha_PODTests.robot
index 7af9978..c8c79e2 100644
--- a/tests/functional/Voltha_PODTests.robot
+++ b/tests/functional/Voltha_PODTests.robot
@@ -360,7 +360,7 @@
     Should Be Equal As Integers    ${rc}    0
     Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    5s    Test Empty Device List
 
-Test Disable and Enable ONU and check authentication
+Validate authentication on a disabled ONU
     [Documentation]    Assuming that test1 was executed where all the ONUs are authenticated/DHCP/pingable
     ...    Perform disable on the ONUs and validate that the authentication do not succeed
     ...    Perform enable on the ONUs and validate that authentication successful
