diff --git a/diskimage_builder/elements/ironic-agent/install.d/ironic-agent-source-install/60-ironic-agent-install b/diskimage_builder/elements/ironic-agent/install.d/ironic-agent-source-install/60-ironic-agent-install
index 622879be3..3987c1457 100755
--- a/diskimage_builder/elements/ironic-agent/install.d/ironic-agent-source-install/60-ironic-agent-install
+++ b/diskimage_builder/elements/ironic-agent/install.d/ironic-agent-source-install/60-ironic-agent-install
@@ -15,6 +15,9 @@ $IPADIR/imagebuild/common/generate_upper_constraints.sh $IPADIR/upper-constraint
 # create the virtual environment
 virtualenv $IPADIR/venv
 
+# pip might be an older version which does not support the -c option, therefore upgrade first
+$IPADIR/venv/bin/pip install pip --upgrade
+
 # install IPA inside the virtual environment
 $IPADIR/venv/bin/pip install -c $IPADIR/upper-constraints.txt $IPADIR
 
diff --git a/releasenotes/notes/upgrade-pip-before-c-d2443847f9d58c7a.yaml b/releasenotes/notes/upgrade-pip-before-c-d2443847f9d58c7a.yaml
new file mode 100644
index 000000000..c46017f84
--- /dev/null
+++ b/releasenotes/notes/upgrade-pip-before-c-d2443847f9d58c7a.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+  - |
+    This fixes bug 1744403 where 60-ironic-agent-install fails to run
+    when DIB_INSTALLTYPE_ironic_agent=source is set.  pip installs
+    constraints with the -c argument and this argument is a relatively
+    newer addion.  The currently installed pip may not support that
+    option and must be upgraded before proceeding.