 <p>I think I see what's going on here. It's actually impossible for the <code>Fragment</code> to be duplicated with only one view container.</p> <p>I suspect that the items in your <code>ListFragment</code> are getting duplicated due to the call to <code>populateList()</code> in <code>onActivityCreated()</code>.</p> <p>Because<code>onActivityCreated()</code> is called every time you click the back button to return to <code>ColorListFragment</code> from <code>SaturationListFragment</code>, it is calling <code>populateList()</code> every time. See <a href="http://developer.android.com/reference/android/app/Fragment.html#onActivityCreated(android.os.Bundle)" rel="nofollow">documentation here</a></p> <p>In order to fix your issue, just move the call to <code>populateList()</code> to <code>onCreate()</code>, which is only called the first time the <code>ListFragment</code> is initialized:</p> <pre><code>public class ColorListFragment extends ListFragment { private List&lt;ColorGD&gt; mDrawableList = null; private ColorAdapter mAdapter = null; //add the onCreate() override @Override public void onCreate(Bundle savedInstance){ super.onCreate(savedInstance); populateList(); //add this here } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_color_list, container, false); } @Override public void onActivityCreated(Bundle savedInstanceState){ super.onActivityCreated(savedInstanceState); //populateList(); //remove this //.................. </code></pre>