diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher2/Folder.java
index 15a0642..c490d5e 100644
--- a/src/com/android/launcher2/Folder.java
+++ b/src/com/android/launcher2/Folder.java
@@ -243,14 +243,14 @@
 
     public void doneEditingFolderName(boolean commit) {
         mFolderName.setHint(sHintText);
+        // Convert to a string here to ensure that no other state associated with the text field
+        // gets saved.
+        mInfo.setTitle(mFolderName.getText().toString());
         LauncherModel.updateItemInDatabase(mLauncher, mInfo);
         mFolderName.setCursorVisible(false);
         mFolderName.clearFocus();
         Selection.setSelection((Spannable) mFolderName.getText(), 0, 0);
         mIsEditingName = false;
-        // Convert to a string here to ensure that no other state associated with the text field
-        // gets saved.
-        mInfo.setTitle(mFolderName.getText().toString());
     }
 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
