diff --git a/vlc-android/src/org/videolan/vlc/gui/MainActivity.java b/vlc-android/src/org/videolan/vlc/gui/MainActivity.java
index 83d43008788c7e7fa1501944c6f519907048971b..088932798156478644314b3f6b23ab68be6198f9 100644
--- a/vlc-android/src/org/videolan/vlc/gui/MainActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/MainActivity.java
@@ -285,6 +285,17 @@ public class MainActivity extends SherlockFragmentActivity {
         if (getIntent().hasExtra(AudioService.START_FROM_NOTIFICATION))
             getIntent().removeExtra(AudioService.START_FROM_NOTIFICATION);
 
+        /* Load media items from database and storage */
+        if (mScanNeeded)
+            MediaLibrary.getInstance(this).loadMediaItems(this);
+    }
+
+
+
+    @Override
+    protected void onResumeFragments() {
+        super.onResumeFragments();
+
         /* Restore last view */
         Fragment current = getSupportFragmentManager()
                 .findFragmentById(R.id.fragment_placeholder);
@@ -308,10 +319,6 @@ public class MainActivity extends SherlockFragmentActivity {
             ft.replace(R.id.fragment_placeholder, getFragment(mCurrentFragment));
             ft.commit();
         }
-
-        /* Load media items from database and storage */
-        if (mScanNeeded)
-            MediaLibrary.getInstance(this).loadMediaItems(this);
     }
 
     /**