Fixed auto-merge issue

The original code just didn't make sense (it always return before the rest of the codes). That's because ```OldValue``` got mistakenly merged into ```CachedValue```, which was right below it.