diff --git a/Benchmark.cpp b/Benchmark.cpp
index 7a3af65..810adf4 100644
--- a/Benchmark.cpp
+++ b/Benchmark.cpp
@@ -28,6 +28,8 @@
 #include <sys/resource.h>
 #include <unistd.h>
 
+#define ENABLE_DROP_CACHES 1
+
 using android::base::ReadFileToString;
 using android::base::WriteStringToFile;
 
@@ -88,11 +90,13 @@
     sync();
     nsecs_t create = systemTime(SYSTEM_TIME_BOOTTIME);
 
+#if ENABLE_DROP_CACHES
     LOG(VERBOSE) << "Before drop_caches";
     if (!WriteStringToFile("3", "/proc/sys/vm/drop_caches")) {
         PLOG(ERROR) << "Failed to drop_caches";
     }
     LOG(VERBOSE) << "After drop_caches";
+#endif
     nsecs_t drop = systemTime(SYSTEM_TIME_BOOTTIME);
 
     BenchmarkRun();
diff --git a/EmulatedVolume.cpp b/EmulatedVolume.cpp
index d8d9198..f1ca97b 100644
--- a/EmulatedVolume.cpp
+++ b/EmulatedVolume.cpp
@@ -54,12 +54,19 @@
 }
 
 status_t EmulatedVolume::doMount() {
-    mFuseDefault = StringPrintf("/mnt/runtime_default/%s", mLabel.c_str());
-    mFuseRead = StringPrintf("/mnt/runtime_read/%s", mLabel.c_str());
-    mFuseWrite = StringPrintf("/mnt/runtime_write/%s", mLabel.c_str());
+    // We could have migrated storage to an adopted private volume, so always
+    // call primary storage "emulated" to avoid media rescans.
+    std::string label = mLabel;
+    if (getMountFlags() & MountFlags::kPrimary) {
+        label = "emulated";
+    }
+
+    mFuseDefault = StringPrintf("/mnt/runtime_default/%s", label.c_str());
+    mFuseRead = StringPrintf("/mnt/runtime_read/%s", label.c_str());
+    mFuseWrite = StringPrintf("/mnt/runtime_write/%s", label.c_str());
 
     setInternalPath(mRawPath);
-    setPath(StringPrintf("/storage/%s", mLabel.c_str()));
+    setPath(StringPrintf("/storage/%s", label.c_str()));
 
     if (fs_prepare_dir(mFuseDefault.c_str(), 0700, AID_ROOT, AID_ROOT) ||
             fs_prepare_dir(mFuseRead.c_str(), 0700, AID_ROOT, AID_ROOT) ||
@@ -77,7 +84,7 @@
                 "-m",
                 "-w",
                 mRawPath.c_str(),
-                mLabel.c_str(),
+                label.c_str(),
                 NULL)) {
             PLOG(ERROR) << "Failed to exec";
         }
diff --git a/PrivateVolume.cpp b/PrivateVolume.cpp
index 74b6b5b..6ddef3f 100644
--- a/PrivateVolume.cpp
+++ b/PrivateVolume.cpp
@@ -159,6 +159,7 @@
     if (PrepareDir(mPath + "/app", 0771, AID_SYSTEM, AID_SYSTEM) ||
             PrepareDir(mPath + "/user", 0711, AID_SYSTEM, AID_SYSTEM) ||
             PrepareDir(mPath + "/media", 0770, AID_MEDIA_RW, AID_MEDIA_RW) ||
+            PrepareDir(mPath + "/media/0", 0770, AID_MEDIA_RW, AID_MEDIA_RW) ||
             PrepareDir(mPath + "/local", 0751, AID_ROOT, AID_ROOT) ||
             PrepareDir(mPath + "/local/tmp", 0771, AID_SHELL, AID_SHELL)) {
         PLOG(ERROR) << getId() << " failed to prepare";
