diff --git a/bin/ssh_pw b/bin/ssh_pw
index 0f7dce8..634ecbf 100755
--- a/bin/ssh_pw
+++ b/bin/ssh_pw
@@ -9,7 +9,6 @@
 #       specify (e.g. userid, host, etc.).
 
 
-###############################################################################
 # Main
 
   # Get arguments.
@@ -92,5 +91,4 @@
 
   exit 0
 
-###############################################################################
 
diff --git a/extended/obmc_boot_test_resource.robot b/extended/obmc_boot_test_resource.robot
index 732c214..a9b0052 100644
--- a/extended/obmc_boot_test_resource.robot
+++ b/extended/obmc_boot_test_resource.robot
@@ -68,7 +68,6 @@
 
 
 *** Keywords ***
-###############################################################################
 OBMC Boot Test
     [Teardown]  OBMC Boot Test Teardown
     [Arguments]  ${pos_arg1}=${EMPTY}  &{arguments}
@@ -81,5 +80,3 @@
     ...  Set To Dictionary  ${arguments}  loc_boot_stack=${pos_arg1}
 
     OBMC Boot Test Py  &{arguments}
-
-###############################################################################
diff --git a/extended/run_keyword.robot b/extended/run_keyword.robot
index f5b1671..96ff3d9 100644
--- a/extended/run_keyword.robot
+++ b/extended/run_keyword.robot
@@ -51,11 +51,7 @@
     Main
 
 *** Keywords ***
-###############################################################################
 Main
     [Teardown]  Program Teardown
 
     Main Py
-
-###############################################################################
-
diff --git a/lib/bmc_cleanup.robot b/lib/bmc_cleanup.robot
index 2d3a45f..b54aa82 100644
--- a/lib/bmc_cleanup.robot
+++ b/lib/bmc_cleanup.robot
@@ -11,7 +11,6 @@
 
 *** Keywords ***
 
-###############################################################################
 
 Cleanup Dir
     [Documentation]  Remove leftover files in cleanup directory path.
diff --git a/lib/bmc_network_utils.robot b/lib/bmc_network_utils.robot
index dbe4b7e..cccbdd5 100644
--- a/lib/bmc_network_utils.robot
+++ b/lib/bmc_network_utils.robot
@@ -10,7 +10,6 @@
 
 *** Keywords ***
 
-###############################################################################
 Check And Reset MAC
     [Documentation]  Update BMC with user input MAC address.
     [Arguments]  ${mac_address}=${MAC_ADDRESS}
@@ -24,10 +23,7 @@
     Run Keyword If  '${mac_address.lower()}' != '${bmc_mac_addr.lower()}'
     ...  Set MAC Address
 
-###############################################################################
 
-
-###############################################################################
 Set MAC Address
     [Documentation]  Update eth0 with input MAC address.
     [Arguments]  ${mac_address}=${MAC_ADDRESS}
@@ -43,7 +39,6 @@
     ${bmc_mac_addr}=  Execute Command On BMC  cat /sys/class/net/eth0/address
     Should Be Equal  ${bmc_mac_addr}  ${mac_address}  ignore_case=True
 
-###############################################################################
 
 Get BMC IP Info
     [Documentation]  Get system IP address and prefix length.
diff --git a/lib/openbmc_ffdc_methods.robot b/lib/openbmc_ffdc_methods.robot
index 28e413f..682e96b 100755
--- a/lib/openbmc_ffdc_methods.robot
+++ b/lib/openbmc_ffdc_methods.robot
@@ -15,12 +15,10 @@
 
 *** Keywords ***
 
-################################################################
 # Method : Call FFDC Methods                                   #
 #          Execute the user define keywords from the FFDC List #
 #          Unlike any other keywords this will call into the   #
 #          list of keywords defined in the FFDC list at one go #
-################################################################
 
 Call FFDC Methods
     [Documentation]   Call into FFDC Keyword index list.
@@ -118,10 +116,8 @@
     ${status}  ${ffdc_file_list}=  Run Key  ${keyword_name}  ignore=1
     [Return]  ${ffdc_file_list}
 
-################################################################
 # Method : BMC FFDC Manifest                                   #
 #          Execute command on BMC and write to ffdc_report.txt #
-################################################################
 
 BMC FFDC Manifest
     [Documentation]  Run the ssh commands from FFDC_BMC_CMD and return a list
@@ -172,11 +168,9 @@
     [Return]  ${ffdc_file_list}
 
 
-################################################################
 # Method : BMC FFDC Files                                      #
 #          Execute command on BMC and write to individual file #
 #          based on the file name pre-defined in the list      #
-################################################################
 
 BMC FFDC Files
     [Documentation]  Run the commands from FFDC_BMC_FILE and return a list of
@@ -216,10 +210,8 @@
     [Return]  ${ffdc_file_list}
 
 
-################################################################
 # Method : Log Test Case Status                                #
 #          Creates test result history footprint for reference #
-################################################################
 
 Log Test Case Status
     [Documentation]  Test case execution result history.
@@ -412,7 +404,6 @@
     [Return]  ${ffdc_file_list}
 
 
-##############################################################################
 SCP Coredump Files
     [Documentation]  Copy core dump files from BMC to local system and return a
     ...              list of generated file names.
@@ -440,7 +431,6 @@
     [Return]  ${ffdc_file_list}
 
 
-##############################################################################
 Collect eSEL Log
     [Documentation]  Collect eSEL log from logging entry and convert eSEL data
     ...              to elog formatted string text file.
@@ -500,7 +490,6 @@
     [Return]  ${ffdc_file_list}
 
 
-##############################################################################
 Convert eSEL To Elog Format
     [Documentation]  Execute parser tool on the eSEL data file to generate
     ...              formatted error log.
@@ -515,4 +504,3 @@
     ...  ${esel_file_path} -p decode_obmc_data
     Run  ${cmd_buf}
 
-##############################################################################
diff --git a/tools/generate_test_document b/tools/generate_test_document
index 9970dfa..ef510c7 100755
--- a/tools/generate_test_document
+++ b/tools/generate_test_document
@@ -7,7 +7,6 @@
 # test_case_doc_file_path  The test case document file path to be stored.
 
 
-###############################################################################
 function get_parms {
 
   # Get program parms.
@@ -18,10 +17,8 @@
   return 0
 
 }
-###############################################################################
 
 
-###############################################################################
 function validate_parms {
 
   # Validate program parameters.
@@ -45,10 +42,8 @@
   return 0
 
 }
-###############################################################################
 
 
-###############################################################################
 function generate_all_test_document {
 
   # Generate all test case documents
@@ -64,10 +59,8 @@
 
   return ${ret_code}
 }
-###############################################################################
 
 
-###############################################################################
 function main_function {
 
   get_parms "$@" || return 1
@@ -86,14 +79,11 @@
   return 0
 
 }
-###############################################################################
 
 
-###############################################################################
 # Main
 
   main_function "${@}"
   rc="${?}"
   exit "${rc}"
 
-###############################################################################
