diff --git a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
index e731d46f66986cfb7b493632b7c6551d2ccc0c61..1ec74cdfb88c92c99aa8ccd02595d5169df73348 100644
--- a/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
+++ b/notebooks/AGIPD/AGIPD_Correct_and_Verify.ipynb
@@ -572,6 +572,21 @@
     "## Retrieving constants"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def get_constants_and_update_metadata(cal_data, main_metadata, constants):\n",
+    "    try:\n",
+    "        metadata = cal_data.metadata(constants)\n",
+    "        for key, value in metadata.items():\n",
+    "            main_metadata.setdefault(key, {}).update(value)\n",
+    "    except CalCatError as e:  # TODO: replace when API errors are improved.\n",
+    "        warning(f\"CalCatError: {e}\")"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -599,24 +614,21 @@
     "dark_constants = [\"Offset\", \"Noise\", \"BadPixelsDark\"]\n",
     "if not gain_mode:  # Adaptive gain\n",
     "    dark_constants.append(\"ThresholdsDark\")\n",
-    "gain_constants = []\n",
+    "\n",
+    "agipd_metadata = agipd_cal.metadata(dark_constants)\n",
+    "\n",
+    "agipd_cal.gain_mode = None  # gain_mode is not used for gain constants\n",
+    "pc_constants, ff_constants = [], []\n",
     "if any(agipd_corr.pc_bools):\n",
-    "    gain_constants += [\"SlopesPC\", \"BadPixelsPC\"]\n",
+    "    pc_constants = [\"SlopesPC\", \"BadPixelsPC\"]\n",
+    "    get_constants_and_update_metadata(\n",
+    "        agipd_cal, agipd_metadata, pc_constants)\n",
+    "\n",
     "if agipd_corr.corr_bools.get('xray_corr'):\n",
-    "    gain_constants += agipd_cal.illuminated_calibrations\n",
+    "    ff_constants = agipd_cal.illuminated_calibrations\n",
+    "    get_constants_and_update_metadata(\n",
+    "        agipd_cal, agipd_metadata, ff_constants)\n",
     "\n",
-    "# First retrieve dark constants\n",
-    "agipd_metadata = agipd_cal.metadata(dark_constants)\n",
-    "if gain_constants:\n",
-    "    # Then retrieve gain constants without\n",
-    "    # using the `gain_mode` condition.\n",
-    "    agipd_cal.gain_mode = None\n",
-    "    try:\n",
-    "        illum_metadata = agipd_cal.metadata(gain_constants)\n",
-    "        for key, value in illum_metadata.items():\n",
-    "            agipd_metadata.setdefault(key, {}).update(value)\n",
-    "    except CalCatError as e:  # TODO: replace when API errors are improved.\n",
-    "        warning(f\"CalCatError: {e}\")\n",
     "step_timer.done_step(\"Constants were retrieved in\")\n",
     "\n",
     "print(\"Preparing constants (\"\n",
@@ -649,7 +661,7 @@
     "        karabo_da.drop(da)\n",
     "        modules.drop(mod)\n",
     "\n",
-    "    warn_missing_constants = set(dark_constants + gain_constants)\n",
+    "    warn_missing_constants = set(dark_constants + pc_constants + ff_constants)\n",
     "    warn_missing_constants -= error_missing_constants\n",
     "    warn_missing_constants -= set(calibrations)\n",
     "    if warn_missing_constants:\n",