diff --git a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
index e269df26d191f723a0981a9e981ac5ce0b48a89c..bc951eabc7d7abecd12f5e39af73650a355849d1 100644
--- a/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
+++ b/notebooks/AGIPD/Characterize_AGIPD_Gain_Darks_NBC.ipynb
@@ -161,9 +161,9 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "control_fname = '{}/r{:04d}/RAW-R{:04d}-{}-S00000.h5'.format(in_folder, run_high, \n",
-    "                                                             run_high, karabo_da_control)\n",
     "gain_names = ['High', 'Medium', 'Low']\n",
+    "runs = [run_high, run_med, run_low]\n",
+    "\n",
     "if \"{\" in h5path_ctrl:\n",
     "    h5path_ctrl = h5path_ctrl.format(karabo_id_control)\n",
     "\n",
@@ -173,7 +173,15 @@
     "        gain_setting = None\n",
     "    else:\n",
     "        try:\n",
-    "            gain_setting = get_gain_setting(control_fname, h5path_ctrl)\n",
+    "            # extract gain setting and validate that all runs have the same setting\n",
+    "            gsettings = []\n",
+    "            for r in runs:\n",
+    "                control_fname = '{}/r{:04d}/RAW-R{:04d}-{}-S00000.h5'.format(in_folder, r, r,\n",
+    "                                                                             karabo_da_control)\n",
+    "                gsettings.append(get_gain_setting(control_fname, h5path_ctrl))\n",
+    "            if not all(g == gsettings[0] for g in gsettings):\n",
+    "                raise ValueError(f\"Different gain settings for the 3 input runs {gsettings}\")\n",
+    "            gain_setting =  gsettings[0]  \n",
     "        except Exception as e:\n",
     "            print(f'Error while reading gain setting from: \\n{control_fname}')\n",
     "            print(e)\n",
@@ -379,14 +387,12 @@
     "\n",
     "    \n",
     "inp = []\n",
-    "process_files = {}\n",
     "for gain, mapped_files in gain_mapped_files.items():\n",
     "    dones = []\n",
     "    for i in modules:\n",
     "        qm = f\"Q{i//4+1}M{i%4+1}\"\n",
     "        if qm in mapped_files and not mapped_files[qm].empty():\n",
     "            fname_in = mapped_files[qm].get()\n",
-    "            if \n",
     "            print(\"Process file: \", fname_in)\n",
     "            dones.append(mapped_files[qm].empty())\n",
     "        else:\n",
@@ -856,8 +862,8 @@
     "        l_data_name = ['All bad pixels', 'NOISE_OUT_OF_THRESHOLD', \n",
     "                       'OFFSET_OUT_OF_THRESHOLD', 'OFFSET_NOISE_EVAL_ERROR', 'GAIN_THRESHOLDING_ERROR']\n",
     "\n",
-    "        l_threshold = ['', f'{thresholds_noise_sigma}' f'{thresholds_offset_hard[gain]}/{thresholds_noise_hard[gain]}', \n",
-    "                       f'{thresholds_offset_sigma}' f'{thresholds_offset_hard[gain]}/{thresholds_noise_hard[gain]}',\n",
+    "        l_threshold = ['', f'{thresholds_noise_sigma}' f'{thresholds_noise_hard[gain]}', \n",
+    "                       f'{thresholds_offset_sigma}' f'{thresholds_offset_hard[gain]}',\n",
     "                       '', f'{thresholds_gain_sigma}']\n",
     "\n",
     "        for i in range(len(l_data)):\n",
@@ -938,6 +944,13 @@
     "    display(Markdown('### {} [ADU], good pixels only ###'.format(const)))\n",
     "    md = display(Latex(tabulate.tabulate(table, tablefmt='latex', headers=header)))  "
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {