diff --git a/lib/code_update_utils.py b/lib/code_update_utils.py
index 5026878..5dd0ca7 100644
--- a/lib/code_update_utils.py
+++ b/lib/code_update_utils.py
@@ -20,6 +20,34 @@
 from robot.libraries.BuiltIn import BuiltIn
 
 ###############################################################################
+def verify_no_duplicate_image_priorities(image_purpose):
+
+    r"""
+    Check that there are no active images with the same purpose and priority.
+
+    Description of argument(s):
+    image_purpose  The purpose that images must have to be checked for
+                   priority duplicates.
+    """
+
+    taken_priorities = {}
+    _, image_names = keyword.run_key("Get Software Objects  "
+                                     + "version_type=" + image_purpose)
+
+    for image_name in image_names:
+        _, image = keyword.run_key("Get Host Software Property  " + image_name)
+        if image["Activation"] != var.ACTIVE:
+            continue
+        image_priority = image["Priority"]
+        if image_priority in taken_priorities:
+            BuiltIn().fail("Found active images with the same priority.\n"
+                    + gp.sprint_vars(image, taken_priorities[image_priority]))
+            taken_priorities[image_priority] = image
+
+###############################################################################
+
+
+###############################################################################
 def get_non_running_bmc_software_object():
 
     r"""
diff --git a/lib/code_update_utils.robot b/lib/code_update_utils.robot
index a73a6a9..10e2171 100644
--- a/lib/code_update_utils.robot
+++ b/lib/code_update_utils.robot
@@ -117,6 +117,19 @@
     Should Be Equal As Strings  &{software_state}[Activation]  ${ACTIVE}
 
 
+Activate Image And Verify No Duplicate Priorities
+    [Documentation]  Upload an image, and then check that no images have the
+    ...              same priority.
+    [Arguments]  ${image_file_path}  ${image_purpose}
+
+    # Description of argument(s):
+    # image_file_path  The path to the image to upload.
+    # image_purpose    The purpose in the image's MANIFEST file.
+
+    Upload And Activate Image  ${image_file_path}
+    Verify No Duplicate Image Priorities  ${image_purpose}
+
+
 Delete Software Object
     [Documentation]  Deletes an image from the BMC.
     [Arguments]  ${software_object}
diff --git a/lib/resource.txt b/lib/resource.txt
index 74a5fcd..8f00efb 100755
--- a/lib/resource.txt
+++ b/lib/resource.txt
@@ -48,13 +48,14 @@
 ${DEBUG_TARBALL_PATH}  ${EMPTY}
 
 # Upload Image parameters
-${TFTP_SERVER}              ${EMPTY}
-${PNOR_TFTP_FILE_NAME}      ${EMPTY}
-${BMC_TFTP_FILE_NAME}       ${EMPTY}
-${IMAGE_FILE_PATH}          ${EMPTY}
-${PNOR_IMAGE_FILE_PATH}     ${EMPTY}
-${BMC_IMAGE_FILE_PATH}      ${EMPTY}
-${BAD_IMAGES_DIR_PATH}      ${EMPTY}
+${TFTP_SERVER}                  ${EMPTY}
+${PNOR_TFTP_FILE_NAME}          ${EMPTY}
+${BMC_TFTP_FILE_NAME}           ${EMPTY}
+${IMAGE_FILE_PATH}              ${EMPTY}
+${ALTERNATE_IMAGE_FILE_PATH}    ${EMPTY}
+${PNOR_IMAGE_FILE_PATH}         ${EMPTY}
+${BMC_IMAGE_FILE_PATH}          ${EMPTY}
+${BAD_IMAGES_DIR_PATH}          ${EMPTY}
 
 # The caller must set this to the string "true" in order to delete images. The
 # code is picky.
