diff --git a/CHANGELOG.md b/CHANGELOG.md
index b7b9406401a5bce715cddc283891dd84352c4d12..9c9320cdc5095d4af62a3d56b69c3494f9eca442 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -42,6 +42,7 @@ release.
 ### Fixed
 - Fixed kaguyatc2isis invalid BandBin values [#5629](https://github.com/DOI-USGS/ISIS3/issues/5629)
 - Fixed SpiceClient to handle redirect requests.
+- Fixed jigsaw to default OUTADJUSTMENTH5 option to false and allow this feature to run on read-only images [#5700](https://github.com/DOI-USGS/ISIS3/issues/5700)
 
 ## [9.0.0] - 09-25-2024
 
diff --git a/isis/src/control/apps/jigsaw/jigsaw.cpp b/isis/src/control/apps/jigsaw/jigsaw.cpp
index 9dc7bac4ce78cdd0ac30f9e18bccd1df75e928fc..91d906c0021e0120f7c1f36c348f0a98473135f6 100644
--- a/isis/src/control/apps/jigsaw/jigsaw.cpp
+++ b/isis/src/control/apps/jigsaw/jigsaw.cpp
@@ -240,7 +240,7 @@ namespace Isis {
         for (int i = 0; i < bundleAdjustment->numberOfImages(); i++) {
           Process p;
           CubeAttributeInput inAtt;
-          Cube *c = p.SetInputCube(bundleAdjustment->fileName(i), inAtt, ReadWrite);
+          Cube *c = p.SetInputCube(bundleAdjustment->fileName(i), inAtt, 0); // 0 for read only
 
           // Only for ISIS adjustment values
           if (!c->hasBlob("CSMState", "String")) {
diff --git a/isis/src/control/apps/jigsaw/jigsaw.xml b/isis/src/control/apps/jigsaw/jigsaw.xml
index 1dc590d335bd06d5dc639a38e366f93d3640e634..b5f57b3bb88a368744483b20c74b2fb9a29bd6b7 100644
--- a/isis/src/control/apps/jigsaw/jigsaw.xml
+++ b/isis/src/control/apps/jigsaw/jigsaw.xml
@@ -921,9 +921,6 @@
         <default>
           <item>No</item>
         </default>
-        <exclusions>
-          <item>ADJUSTMENT_INPUT</item>
-        </exclusions>
       </parameter>
 
       <parameter name="OUTLIER_REJECTION">
@@ -1880,7 +1877,7 @@
           </description>
           <type>boolean</type>
           <default>
-            <item>yes</item>
+            <item>no</item>
           </default>
         </parameter>
 
@@ -1898,6 +1895,11 @@
           <filter>
             *.h5
           </filter>
+          <inclusions>
+            <item>
+              UPDATE
+            </item>
+          </inclusions>
           <exclusions>
             <item>ONET</item>
             <item>CNET</item>
@@ -1907,7 +1909,6 @@
             <item>SCCONFIG</item>
             <item>OBSERVATIONS</item>
             <item>RADIUS</item>
-            <item>UPDATE</item>
             <item>OUTLIER_REJECTION</item>
             <item>REJECTION_MULTIPLIER</item>
             <item>ERRORPROPAGATION</item>
diff --git a/isis/tests/FunctionalTestsJigsaw.cpp b/isis/tests/FunctionalTestsJigsaw.cpp
index 6135b34b312b2fe3c0ce638967c834f160d5a0cd..b8fcfa9d15e9c39e27e05203c7bf05b45f0ef3ff 100644
--- a/isis/tests/FunctionalTestsJigsaw.cpp
+++ b/isis/tests/FunctionalTestsJigsaw.cpp
@@ -1875,12 +1875,13 @@ TEST_F(LidarNetwork, FunctionalTestJigsawLidar) {
 
 TEST_F(ApolloNetwork, FunctionalTestJigsawSaveApplyValues) {
   QVector<QString> args = {"spsolve=position",
-                            "update=yes",
+                            "update=no",
                             "bundleout_txt=no",
                             "cnet="+controlNetPath,
                             "fromlist="+tempDir.path() + "/cubes.lis",
                             "onet="+tempDir.path()+"/apollo_out.net",
-                            "file_prefix="+tempDir.path()+"/"};
+                            "file_prefix="+tempDir.path()+"/",
+                            "outadjustmenth5=yes"};
 
   UserInterface ui(APP_XML, args);
 
@@ -1888,7 +1889,7 @@ TEST_F(ApolloNetwork, FunctionalTestJigsawSaveApplyValues) {
 
   // Check apollo_jigsaw.h5 was created
   QString bundleOutput = tempDir.path()+"/adjustment_out.h5";
-  HighFive::File file(bundleOutput.toStdString(), HighFive::File::ReadWrite);
+  HighFive::File file(bundleOutput.toStdString(), HighFive::File::ReadOnly);
 
   std::string datasetName = "/APOLLO15/METRIC/1971-08-01T15:37:39.428";
   QString cmatrixName = "InstrumentPointing";
@@ -1899,7 +1900,7 @@ TEST_F(ApolloNetwork, FunctionalTestJigsawSaveApplyValues) {
   HighFive::DataSet datasetRead = file.getDataSet(cmatrixKey);
   auto cmatrixData = datasetRead.read<std::string>();
   Table cmatrixTable(cmatrixName, cmatrixData, ',');
-  std::string cmatrixTableStr = Table::toString(cmatrixTable).toStdString();  
+  std::string cmatrixTableStr = Table::toString(cmatrixTable).toStdString();
 
   datasetRead = file.getDataSet(spvectorKey);
   auto spvectorData = datasetRead.read<std::string>();