diff --git a/tests/test_core.py b/tests/test_core.py
index aa0ab1df28954297629fd5f808cddb812e3ee019..be2a588d8dfb8747a35aaf526fd4766767f75bb4 100644
--- a/tests/test_core.py
+++ b/tests/test_core.py
@@ -147,12 +147,16 @@ class Tensors_Check(AbstractNdarray_Check):
         merge_list[1].transform(tfields.bases.CYLINDER)
         merge_list[2].transform(tfields.bases.SPHERICAL)
 
+        # add an empty object if specified
+        empty_objects = getattr(self, "_empty_objects", [])
+        merge_list.extend(empty_objects)
+
         # merge them and check that the first coord_sys is taken
         obj = type(self._inst).merged(*merge_list)
         self.assertTrue(obj.coord_sys == tfields.bases.CARTESIAN)
 
         # check that all copies are the same also with new coord_sys
-        for i in range(len(merge_list)):
+        for i in range(len(merge_list) - len(empty_objects)):
             value = np.allclose(
                 merge_list[0],
                 obj[i * len(self._inst) : (i + 1) * len(self._inst)],
@@ -161,7 +165,7 @@ class Tensors_Check(AbstractNdarray_Check):
             self.assertTrue(value)
 
         obj_cs = type(self._inst).merged(*merge_list, coord_sys=tfields.bases.CYLINDER)
-        for i in range(len(merge_list)):
+        for i in range(len(merge_list) - len(empty_objects)):
             value = np.allclose(
                 merge_list[1],
                 obj_cs[i * len(self._inst) : (i + 1) * len(self._inst)],
@@ -328,6 +332,10 @@ class TensorMaps_Test(TensorFields_Check, unittest.TestCase):
             for map_tensors, map_fields in zip(self._maps_tensors, self._maps_fields)
         ]
         self._inst = tfields.TensorMaps(tensors, *self._fields, maps=self._maps)
+        self._empty_objects = [
+            tfields.TensorMaps([], dim=3),
+            tfields.TensorMaps([], maps=tfields.Maps([]), dim=3),
+        ]
 
     def test_legacy(self):
         this_dir = pathlib.Path(__file__).parent
diff --git a/tfields/core.py b/tfields/core.py
index 4777792f0c2c2e1827750d4b0d91c5e32230015a..9dc9fec6a8120687d6c03cd041336fa37c94c9a4 100644
--- a/tfields/core.py
+++ b/tfields/core.py
@@ -2583,8 +2583,8 @@ class TensorMaps(TensorFields):
 
         dim_maps_dict = {}  # {dim: {i: map_}
         for i, obj in enumerate(objects):
-            for dimension, map_ in obj.maps.items():  # pylint: disable=invalid-name
-                map_ = map_ + cum_tensor_lengths[i]  # pylint: disable=invalid-name
+            for dimension, map_ in obj.maps.items():
+                map_ = map_ + cum_tensor_lengths[i]
                 if dimension not in dim_maps_dict:
                     dim_maps_dict[dimension] = {}
                 dim_maps_dict[dimension][i] = map_
@@ -2593,7 +2593,11 @@ class TensorMaps(TensorFields):
         template_maps_list = [[] for i in range(len(objects))]
         for dimension in sorted(dim_maps_dict):
             # sort by object index
-            dim_maps = [dim_maps_dict[dimension][i] for i in range(len(objects))]
+            dim_maps = [
+                dim_maps_dict[dimension][i]
+                for i in range(len(objects))
+                if i in dim_maps_dict[dimension]
+            ]
 
             return_value = TensorFields.merged(
                 *dim_maps,
diff --git a/tfields/mesh_3d.py b/tfields/mesh_3d.py
index a37cd51a5e336445a068a62312223d6494206db6..d0bdde1cbb9e41c2c70df1c1997ed804b3ae84ec 100644
--- a/tfields/mesh_3d.py
+++ b/tfields/mesh_3d.py
@@ -1098,7 +1098,7 @@ class Mesh3D(tfields.TensorMaps):
             Cut with 'return_template=True' will return the exact same mesh but
             additionally an instruction to conduct the exact same cut fast (template)
             >>> m_split_2, template = m.cut(cut_expr, at_intersection='split',
-            ...                                    return_template=True)
+            ...                             return_template=True)
             >>> m_split_template = m.cut(template)
             >>> assert m_split.equal(m_split_2, equal_nan=True)
             >>> assert m_split.equal(m_split_template, equal_nan=True)