diff --git a/docs/toback24.txt b/docs/toback24.txt
index c653128fba..c4bc8320c0 100644
--- a/docs/toback24.txt
+++ b/docs/toback24.txt
@@ -173,3 +173,8 @@ This gets the tab size and adds a bit for borders.
We should do the same for other platforms, only rationalise
it so that wxNotebook returns the tab rect info.
+19. Add wxFileConfig bug fix, marked by ... in Parse().
+This prevents mungeing of the config file after reading in
+entries (say, just one entry in one group), then adding entries
+to a different group.
+
diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp
index 36537f99cf..3e39151ade 100644
--- a/src/common/fileconf.cpp
+++ b/src/common/fileconf.cpp
@@ -672,6 +672,16 @@ void wxFileConfig::Parse(wxTextBuffer& buffer, bool bLocal)
// new entry
pEntry = m_pCurrentGroup->AddEntry(strKey, n);
+ //
+ // Take the opportunity to set some pointers now
+ // that we know there are items in this group.
+ // Otherwise, items added to a newly read file
+ // can be put in the wrong place.
+ m_pCurrentGroup->SetLastEntry(pEntry);
+ if (m_pCurrentGroup->Parent())
+ m_pCurrentGroup->Parent()->SetLastGroup(m_pCurrentGroup);
+ //
+
if ( bLocal )
pEntry->SetLine(m_linesTail);
}