diff --git a/ale/base/data_naif.py b/ale/base/data_naif.py
index 0243be510a3a63a6bae4007a1553e5e30a1ce795..009c5909752bd9339279f466f94d826002c17482 100644
--- a/ale/base/data_naif.py
+++ b/ale/base/data_naif.py
@@ -534,4 +534,9 @@ class NaifSpice():
 
             self._naif_keywords = {**self._naif_keywords, **util.query_kernel_pool(f"*{self.ikid}*"),  **util.query_kernel_pool(f"*{self.target_id}*")}
 
+            try:
+                self._naif_keywords = {**self._naif_keywords, **util.query_kernel_pool(f"*{self.fikid}*")}
+            except AttributeError as error:
+                pass
+
         return self._naif_keywords
diff --git a/ale/drivers/mex_drivers.py b/ale/drivers/mex_drivers.py
index d1c4106054d4508f78197d00490e54ad5604efd7..f29c82c7b2e2e20b7f4cc6eccb6b49e7295e8968 100644
--- a/ale/drivers/mex_drivers.py
+++ b/ale/drivers/mex_drivers.py
@@ -506,8 +506,7 @@ class MexHrscIsisLabelNaifSpiceDriver(LineScanner, IsisLabel, NaifSpice, RadialD
             """
             if(super().instrument_id != "HRSC"):
                 raise Exception ("Instrument ID is wrong.")
-
-            return super().instrument_id
+            return self.label['IsisCube']['Archive']['DetectorId']
 
         @property
         def sensor_model_version(self):
@@ -587,7 +586,7 @@ class MexHrscIsisLabelNaifSpiceDriver(LineScanner, IsisLabel, NaifSpice, RadialD
 
             Expects filter_number to be defined. This should be an integer containing
             the filter number from the pds3 label.
-            Expects ikid to be defined. This should be the integer Naid ID code for
+            Expects ikid to be defined. This should be the integer Naif ID code for
             the instrument.
 
             Returns
diff --git a/tests/ctests/CMakeLists.txt b/tests/ctests/CMakeLists.txt
index 009827a2d8104bed91f2db7c95bd6b6ae07ea02a..44817829d5483e7f62fb38480d78e1e59067b1d0 100644
--- a/tests/ctests/CMakeLists.txt
+++ b/tests/ctests/CMakeLists.txt
@@ -12,6 +12,8 @@ target_link_libraries(runAleTests
                       GSL::gslcblas
                       Eigen3::Eigen
                       gtest
-                      Threads::Threads)
+                      Threads::Threads
+                      nlohmann_json::nlohmann_json
+                      )
 
 gtest_discover_tests(runAleTests WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/tests/ctests)
diff --git a/tests/pytests/conftest.py b/tests/pytests/conftest.py
index 4456088f2cd397b21b9b7104f6429a275bdd6b33..77f2a55c73f262c9b9d459ad0d2dffde3c6f4e05 100644
--- a/tests/pytests/conftest.py
+++ b/tests/pytests/conftest.py
@@ -77,6 +77,8 @@ image_2_data = {}
 for d in dirs:
     tmp = os.path.join(data_root, d)
     image_2_data[d] = [os.path.join(tmp, f) for f in os.listdir(tmp) if not f.startswith('.') and os.path.splitext(f)[1] != '.lbl']
+    # force IAKs to the back of the list
+    image_2_data[d] = sorted(image_2_data[d], key=lambda x: "Addendum" in x)
 
 def get_image_label(image, label_type='pds3'):
     if not isinstance(image, str):
diff --git a/tests/pytests/test_mex_drivers.py b/tests/pytests/test_mex_drivers.py
index 0caa24b8c7763a804142ec088046b278447347f7..898cdc38c56736622412f38dfcc61cad5c0505cb 100644
--- a/tests/pytests/test_mex_drivers.py
+++ b/tests/pytests/test_mex_drivers.py
@@ -206,7 +206,7 @@ def usgscsm_compare_dict():
               },
 
         "isis" :
-          {
+        {
   "CameraVersion": 1,
   "NaifKeywords": {
     "BODY499_RADII": [
@@ -283,7 +283,69 @@ def usgscsm_compare_dict():
       176.63,
       350.89198226,
       0.0
-    ]
+    ],
+    "INS-41218_ITRANSL": [
+      -7113.11359717265,
+      0.062856784318668,
+      142.857129028729
+    ],
+    "INS-41218_ITRANSS": [
+      -0.778052433438109,
+      -142.857129028729,
+      0.062856784318668
+    ],
+    "INS-41218_FOV_SHAPE": "RECTANGLE",
+    "INS-41218_PIXEL_SIZE": [
+      7.0,
+      7.0
+    ],
+    "INS-41218_CK_REFERENCE_ID": 1.0,
+    "INS-41218_FOV_FRAME": "MEX_HRSC_HEAD",
+    "INS-41218_CCD_CENTER": [
+      2592.5,
+      0.5
+    ],
+    "INS-41218_CK_FRAME_ID": -41001.0,
+    "INS-41218_F/RATIO": 5.6,
+    "INS-41218_PIXEL_SAMPLES": 5184.0,
+    "INS-41218_BORESIGHT_SAMPLE": 2592.5,
+    "INS-41218_FILTER_BANDWIDTH": 90.0,
+    "INS-41218_BORESIGHT_LINE": 0.0,
+    "INS-41218_PIXEL_LINES": 1.0,
+    "INS-41218_FOCAL_LENGTH": 174.82,
+    "INS-41218_FOV_ANGULAR_SIZE": [
+      0.2,
+      4e-05
+    ],
+    "INS-41218_FILTER_BANDCENTER": 970.0,
+    "INS-41218_TRANSX": [
+      0.016461898406507,
+      -0.006999999322408,
+      3.079982431615e-06
+    ],
+    "INS-41218_TRANSY": [
+      49.7917927568053,
+      3.079982431615e-06,
+      0.006999999322408
+    ],
+    "INS-41218_FOV_BOUNDARY_CORNERS": [
+      18.1982,
+      49.9121,
+      175.0,
+      18.1982,
+      49.9051,
+      175.0,
+      -18.1693,
+      49.8901,
+      175.0,
+      -18.1693
+    ],
+    "INS-41218_BORESIGHT": [
+      0.0151,
+      49.9039,
+      175.0
+    ],
+    "INS-41218_IFOV": 4e-05
   },
   "InstrumentPointing": {
     "TimeDependentFrames": [
@@ -368,10 +430,10 @@ def usgscsm_compare_dict():
     ],
     "Quaternions": [
       [
-        -0.6525755651363002,
-        -0.023151423913928198,
-        0.31744150842891783,
-        -0.6876336467074379
+        -0.6525755651363003,
+        -0.0231514239139282,
+        0.3174415084289179,
+        -0.6876336467074378
       ],
       [
         -0.6531746247480361,
@@ -380,17 +442,17 @@ def usgscsm_compare_dict():
         -0.6870646329712322
       ],
       [
-        -0.6534739684048749,
-        -0.022736404778153124,
-        0.3174715036099805,
-        -0.6867799304803299
+        -0.6534739684048748,
+        -0.022736404778153148,
+        0.31747150360998055,
+        -0.68677993048033
       ]
     ],
     "AngularVelocity": [
       [
-        3.162398161513711e-05,
-        -2.880303177599155e-05,
-        5.65207273177886e-05
+        3.1623981615137114e-05,
+        -2.8803031775991542e-05,
+        5.6520727317788564e-05
       ],
       [
         3.162398161506756e-05,
@@ -398,8 +460,8 @@ def usgscsm_compare_dict():
         5.652072731743428e-05
       ],
       [
-        3.162398161503279e-05,
-        -2.8803031777148904e-05,
+        3.1623981615032794e-05,
+        -2.8803031777148914e-05,
         5.6520727317257115e-05
       ]
     ]
@@ -415,36 +477,36 @@ def usgscsm_compare_dict():
     ],
     "Positions": [
       [
-        3508.7678822054836,
-        -1180.090578774873,
-        -404.6580659358623
+        3508.767882205483,
+        -1180.0905787748716,
+        -404.6580659358628
       ],
       [
         3509.6584138014186,
-        -1143.4324359500306,
-        -502.6029463204845
+        -1143.4324359500313,
+        -502.6029463204848
       ],
       [
         3509.4431532823473,
-        -1124.8866548757126,
-        -551.4851113671581
+        -1124.886654875713,
+        -551.4851113671591
       ]
     ],
     "Velocities": [
       [
-        0.0720400832434136,
-        1.478737567336345,
-        -3.9872650791431576
+        0.07204008324341263,
+        1.4787375673363454,
+        -3.987265079143158
       ],
       [
-        0.0003930097221540194,
-        1.502497160864039,
-        -3.978142968407851
+        0.0003930097221548436,
+        1.5024971608640412,
+        -3.9781429684078495
       ],
       [
-        -0.03540185319234352,
-        1.5140837760694028,
-        -3.972834676104136
+        -0.03540185319234399,
+        1.5140837760694033,
+        -3.9728346761041364
       ]
     ]
   },
@@ -457,16 +519,16 @@ def usgscsm_compare_dict():
     ],
     "Positions": [
       [
-        97397666.49661356,
+        97397666.49661352,
         -201380879.84291452,
-        -94392949.8261708
+        -94392949.82617083
       ]
     ],
     "Velocities": [
       [
-        21.260857263715938,
-        7.173395648419857,
-        2.73958955646446
+        21.26085726371221,
+        7.17339564842172,
+        2.739589556465391
       ]
     ]
   }
@@ -478,6 +540,7 @@ def test_kernels():
     kernels = get_image_kernels('h5270_0000_ir2')
     updated_kernels, binary_kernels = convert_kernels(kernels)
     yield updated_kernels
+    print(updated_kernels)
     for kern in binary_kernels:
         os.remove(kern)
 
@@ -632,7 +695,7 @@ class test_mex_isis3_naif(unittest.TestCase):
         self.driver =  MexHrscIsisLabelNaifSpiceDriver(label)
 
     def test_instrument_id(self):
-        assert self.driver.instrument_id == 'HRSC'
+        assert self.driver.instrument_id == 'MEX_HRSC_IR'
 
     def test_ikid(self):
         with patch('ale.drivers.mex_drivers.spice.bods2c', return_value=12345) as bods2c:
@@ -642,7 +705,7 @@ class test_mex_isis3_naif(unittest.TestCase):
     def test_fikid(self):
         with patch('ale.drivers.mex_drivers.spice.bods2c', return_value=12345) as bods2c:
             assert self.driver.fikid == 12345
-            bods2c.assert_called_with('HRSC')
+            bods2c.assert_called_with('MEX_HRSC_IR')
 
     def test_ephemeris_start_time(self):
         with patch('ale.drivers.mex_drivers.read_table_data', return_value=12345) as read_table_data, \