@@ -198,15 +198,19 @@ #ifdef OF_HAVE_BLOCKS - (void)replaceObjectsUsingBlock: (of_dictionary_replace_block_t)block { [self enumerateKeysAndObjectsUsingBlock: ^ (id key, id object, bool *stop) { - [self setObject: block(key, object, stop) - forKey: key]; + id new = block(key, object); + + if (new != object) { + [self setObject: block(key, object) + forKey: key]; + } }]; } #endif - (void)makeImmutable { } @end