diff --git a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb
index 59108f84e296ab790ee694ace47108ec223ce1ca..fc1ac99babe5143276436c865e383dc0b67237b4 100644
--- a/notebooks/REMI/REMI_Digitize_and_Transform.ipynb
+++ b/notebooks/REMI/REMI_Digitize_and_Transform.ipynb
@@ -905,7 +905,7 @@
     "max_num_hits = 0.0\n",
     "    \n",
     "for det_name in remi['detector'].keys():\n",
-    "    agg_window = num_pulses // 1000\n",
+    "    agg_window = num_pulses // min(1000, num_pulses)\n",
     "    \n",
     "    num_hits = np.isfinite(det_data[det_name]['hits']['x']).sum(axis=1)\n",
     "    num_hits = num_hits[:(len(num_hits) // agg_window) * agg_window]\n",
@@ -1154,6 +1154,7 @@
     "        \n",
     "        for det_name in remi['detector']:\n",
     "            cur_device_id = det_device_id.format(karabo_id=karabo_id, det_name=det_name.upper())\n",
+    "            cur_max_hits = remi['detector'][det_name]['max_hits']\n",
     "                \n",
     "            cur_control_data = outp.create_control_source(cur_device_id)\n",
     "            # Manually manipulate the file here, still creates the index properly.\n",
@@ -1166,23 +1167,36 @@
     "            \n",
     "            if save_raw_triggers:\n",
     "                cur_fast_data.create_key('raw.triggers', triggers[pulse_mask],\n",
+    "                                         maxshape=(None,) + triggers.shape[1:],\n",
     "                                         chunks=tuple(chunks_triggers), **dataset_kwargs)\n",
     "                \n",
     "            if save_raw_edges:\n",
     "                cur_fast_data.create_key('raw.edges', cur_data['edges'][pulse_mask],\n",
-    "                                         chunks=tuple(chunks_edges), **dataset_kwargs)\n",
+    "                                         maxshape=(None,) + cur_data['edges'].shape[1:],\n",
+    "                                         chunks=tuple(chunks_edges if chunks_edges[-1] <= cur_max_hits\n",
+    "                                                      else chunks_edges[:-1] + [cur_max_hits]),\n",
+    "                                         **dataset_kwargs)\n",
     "                \n",
     "            if save_raw_amplitudes:\n",
     "                cur_fast_data.create_key('raw.amplitudes', cur_data['amplitudes'][pulse_mask],\n",
-    "                                         chunks=tuple(chunks_amplitudes), **dataset_kwargs)\n",
+    "                                         maxshape=(None,) + cur_data['amplitudes'].shape[1:],\n",
+    "                                         chunks=tuple(chunks_amplitudes if chunks_amplitudes[-1] <= cur_max_hits\n",
+    "                                                      else chunks_amplitudes[:-1] + [cur_max_hits]),\n",
+    "                                         **dataset_kwargs)\n",
     "                \n",
     "            if save_rec_signals:\n",
     "                cur_fast_data.create_key('rec.signals', cur_data['signals'][pulse_mask],\n",
-    "                                         chunks=tuple(chunks_signals), **dataset_kwargs)\n",
+    "                                         maxshape=(None,) + cur_data['signals'].shape[1:],\n",
+    "                                         chunks=tuple(chunks_signals if chunks_signals[-1] <= cur_max_hits\n",
+    "                                                      else chunks_signals[:-1] + [cur_max_hits]),\n",
+    "                                         **dataset_kwargs)\n",
     "                \n",
     "            if save_rec_hits:\n",
     "                cur_fast_data.create_key('rec.hits', cur_data['hits'][pulse_mask],\n",
-    "                                         chunks=tuple(chunks_hits), **dataset_kwargs)\n",
+    "                                         maxshape=(None,) + hits.shape[1:],\n",
+    "                                         chunks=tuple(chunks_hits if chunks_hits[-1] <= cur_max_hits\n",
+    "                                                      else chunks_hits[:-1] + [cur_max_hits]),\n",
+    "                                         **dataset_kwargs)\n",
     "                \n",
     "            cur_fast_data.create_index(raw=pulse_counts[train_mask], rec=pulse_counts[train_mask])\n",
     "        \n",