Hi, The cidict class needs the following method for "attr in cidict" to work properly: def __contains__(self,key): return self.has_key(key) Otherwise it defaults to using the UserDict __contains__ which isn't case-insensitive. Thanks, James Andrewartha