diff --git a/extended/obmc_boot_test.robot b/extended/obmc_boot_test.robot
index 595ba6a..f2bef39 100644
--- a/extended/obmc_boot_test.robot
+++ b/extended/obmc_boot_test.robot
@@ -16,7 +16,7 @@
 ...  openbmc_serial_port  boot_stack  boot_list  max_num_tests
 ...  plug_in_dir_paths  status_file_path  openbmc_model  boot_pass  boot_fail
 ...  ffdc_dir_path_style  ffdc_check  state_change_timeout  power_on_timeout
-...  power_off_timeout  test_mode  quiet  debug
+...  power_off_timeout  ffdc_only  test_mode  quiet  debug
 
 # Initialize each program parameter.
 ${openbmc_host}             ${EMPTY}
@@ -48,6 +48,7 @@
 ${state_change_timeout}     3 mins
 ${power_on_timeout}         14 mins
 ${power_off_timeout}        2 mins
+${ffdc_only}                ${0}
 ${test_mode}                0
 ${quiet}                    0
 ${debug}                    0
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 8f76776..551ddd8 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -32,8 +32,8 @@
 # Program parameter processing.
 # Assign all program parms to python variables which are global to this module.
 parm_list = BuiltIn().get_variable_value("${parm_list}")
-int_list = ['max_num_tests', 'boot_pass', 'boot_fail', 'quiet', 'test_mode',
-            'debug']
+int_list = ['max_num_tests', 'boot_pass', 'boot_fail', 'ffdc_only', 'quiet',
+            'test_mode', 'debug']
 for parm in parm_list:
     if parm in int_list:
         sub_cmd = "int(BuiltIn().get_variable_value(\"${" + parm +\
@@ -266,7 +266,7 @@
     BuiltIn().set_global_variable("${plug_in_packages_list}",
                                   plug_in_packages_list)
 
-    if len(boot_list) == 0 and len(boot_stack) == 0:
+    if len(boot_list) == 0 and len(boot_stack) == 0 and not ffdc_only:
         error_message = "You must provide either a value for either the" +\
             " boot_list or the boot_stack parm.\n"
         BuiltIn().fail(gp.sprint_error(error_message))
@@ -691,6 +691,15 @@
 
     setup()
 
+    if ffdc_only:
+        gp.qprint_timen("Caller requested ffdc_only.")
+        cmd_buf = ["my_ffdc"]
+        grp.rpissuing_keyword(cmd_buf)
+        try:
+            BuiltIn().run_keyword_and_continue_on_failure(*cmd_buf)
+        except:
+            gp.print_error("Call to my_ffdc failed.\n")
+
     # Process caller's boot_stack.
     while (len(boot_stack) > 0):
         test_loop_body()
