diff --git a/tfields/tensor_grid.py b/tfields/tensor_grid.py
index 85d1367517ebf2676d075f8981004802903a81fe..e0f858682877cb5ea53bffbb836471a58e43986c 100644
--- a/tfields/tensor_grid.py
+++ b/tfields/tensor_grid.py
@@ -40,12 +40,14 @@ class TensorGrid(TensorFields):
 
         obj = super(TensorGrid, cls).__new__(cls, tensors, *fields, **kwargs)
 
+        if len(base_vectors) == 3:
+            base_vectors = tuple(tuple(bv) for bv in base_vectors)
+            base_vectors = grid.ensure_complex(*base_vectors)
         if (
-            isinstance(base_vectors, tuple)
+            isinstance(base_vectors, (tuple, list))
             and base_vectors
             and len(base_vectors[0]) == 3
         ):
-            base_vectors = grid.ensure_complex(*base_vectors)
             if num is None:
                 num = np.array([int(bv[2].imag) for bv in base_vectors], dtype=int)
             base_vectors = np.transpose([[bv[0], bv[1]] for bv in base_vectors])