diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 9099307..b52b0b2 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -73,6 +73,7 @@
 
     private ViewGroup mOrganizationSectionViewContainer;
     private View mAddOrganizationButton;
+    private View mOrganizationView;
     private boolean mOrganizationViewExpanded = false;
 
     private ViewGroup mFields;
@@ -148,6 +149,13 @@
         mAccountTypeTextView = (TextView) findViewById(R.id.account_type);
         mAccountNameTextView = (TextView) findViewById(R.id.account_name);
 
+        mOrganizationView = mInflater.inflate(
+                R.layout.organization_editor_view_switcher, mFields, false);
+        mAddOrganizationButton = mOrganizationView.findViewById(
+                R.id.add_organization_button);
+        mOrganizationSectionViewContainer =
+                (ViewGroup) mOrganizationView.findViewById(R.id.container);
+
         mAddFieldButton = (Button) findViewById(R.id.button_add_field);
         mAddFieldButton.setOnClickListener(new OnClickListener() {
             @Override
@@ -300,12 +308,7 @@
                 } else {
                     // Otherwise provide the user with an "add organization" button that shows the
                     // EditText fields only when clicked
-                    final View organizationView = mInflater.inflate(
-                            R.layout.organization_editor_view_switcher, mFields, false);
-                    mAddOrganizationButton = organizationView.findViewById(
-                            R.id.add_organization_button);
-                    mOrganizationSectionViewContainer =
-                            (ViewGroup) organizationView.findViewById(R.id.container);
+                    mOrganizationSectionViewContainer.removeAllViews();
                     mOrganizationSectionViewContainer.addView(section);
 
                     // Setup the click listener for the "add organization" button
@@ -320,7 +323,7 @@
                         }
                     });
 
-                    mFields.addView(organizationView);
+                    mFields.addView(mOrganizationView);
                 }
             } else {
                 // Otherwise use generic section-based editors
