diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 7c1832f6..8d51e10 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -461,7 +461,7 @@
 
         mMenuAutoSync = menu.findItem(R.id.data_usage_menu_auto_sync);
         mMenuAutoSync.setChecked(ContentResolver.getMasterSyncAutomatically());
-        mMenuAutoSync.setVisible(isOwner && !appDetailMode);
+        mMenuAutoSync.setVisible(!appDetailMode);
 
         final MenuItem split4g = menu.findItem(R.id.data_usage_menu_split_4g);
         split4g.setVisible(hasReadyMobile4gRadio(context) && isOwner && !appDetailMode);
diff --git a/src/com/android/settings/deviceinfo/FileItemInfoLayout.java b/src/com/android/settings/deviceinfo/FileItemInfoLayout.java
index 990f7f2..542d7c9 100644
--- a/src/com/android/settings/deviceinfo/FileItemInfoLayout.java
+++ b/src/com/android/settings/deviceinfo/FileItemInfoLayout.java
@@ -2,10 +2,9 @@
 
 package com.android.settings.deviceinfo;
 
-import com.android.settings.R;
-
 import android.content.Context;
-import android.os.Environment;
+import android.os.Environment.UserEnvironment;
+import android.os.UserHandle;
 import android.util.AttributeSet;
 import android.view.ViewDebug;
 import android.widget.CheckBox;
@@ -13,6 +12,8 @@
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.android.settings.R;
+
 /**
  * Handles display of a single row entry on Settings --> Storage --> Misc Files screen
  */
@@ -20,8 +21,9 @@
     private TextView mFileNameView;
     private TextView mFileSizeView;
     private CheckBox mCheckbox;
-    private static final int mLengthExternalStorageDirPrefix =
-            Environment.getExternalStorageDirectory().getAbsolutePath().length() + 1;
+
+    private static final int sLengthExternalStorageDirPrefix = new UserEnvironment(
+            UserHandle.myUserId()).getExternalStorageDirectory().getAbsolutePath().length() + 1;
 
     public FileItemInfoLayout(Context context) {
         this(context, null);
@@ -51,7 +53,7 @@
     }
 
     public void setFileName(String fileName) {
-        mFileNameView.setText(fileName.substring(mLengthExternalStorageDirPrefix));
+        mFileNameView.setText(fileName.substring(sLengthExternalStorageDirPrefix));
     }
 
     public void setFileSize(String filesize) {
