diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
index 76173c18cb23565445c378c0532264f8597e4b48..85ce0db890f4a80c036c70930175fbef2bbc3255 100644
--- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
+++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C
@@ -419,6 +419,7 @@ int main(int argc, char *argv[])
             wordList doneKeys(dictList.size());
 
             label nEntries = fieldDict.size();
+
             forAll(dictList, i)
             {
                 doneKeys[i] = dictList[i].keyword();
@@ -434,12 +435,13 @@ int main(int argc, char *argv[])
                 );
                 fieldDict.remove(doneKeys[i]);
             }
+
             // Add remaining entries
             label sz = dictList.size();
             dictList.setSize(nEntries);
             forAllConstIter(dictionary, fieldDict, iter)
             {
-                dictList.set(sz, iter().clone());
+                dictList.set(sz++, iter().clone());
             }
 
             Info<< "Writing modified fieldDict " << fieldName << endl;