diff --git a/multi_dict.py b/multi_dict.py
index <HASH>..<HASH> 100644
--- a/multi_dict.py
+++ b/multi_dict.py
@@ -56,7 +56,10 @@ class MultiDict():
             for i in range(len(key)):
                 if not _isdict(value):
                     raise KeyError('Key {} not applicable. Under key {} is a value of type {}.'.format(key, key[:i], type(value)))
-                value = value[key[i]]
+                try:
+                    value = value[key[i]]
+                except TypeError as e:
+                    raise KeyError('Key {} not applicable. The {}th value of the key is of type {}.'.format(key, i, type(key[i]))) from e
         except KeyError as e:
             # raise KeyError(key) from e
             value = []
BUG: util/multi_dict.py: now throws KeyError if number of dicts is smaller than dim of key