diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 1f57f6c..6cc641e 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,9 +16,7 @@
 
 package com.android.settings;
 
-import android.app.Fragment;
 import android.content.Intent;
-import android.os.Bundle;
 import android.preference.PreferenceActivity;
 
 import java.util.List;
@@ -30,6 +28,18 @@
 
     // TODO: Update Call Settings based on airplane mode state.
 
+    @Override
+    public Intent getIntent() {
+        String startingFragment = getStartingFragmentClass(super.getIntent());
+        if (startingFragment != null && !onIsMultiPane()) {
+            Intent modIntent = new Intent(super.getIntent());
+            modIntent.putExtra(EXTRA_SHOW_FRAGMENT, startingFragment);
+            modIntent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, super.getIntent().getExtras());
+            return modIntent;
+        }
+        return super.getIntent();
+    }
+
     /**
      * Checks if the component name in the intent is different from the Settings class and
      * returns the class name to load as a fragment.
@@ -51,6 +61,7 @@
         if (fragmentClass != null) {
             Header header = new Header();
             header.fragment = fragmentClass;
+            header.fragmentArguments = getIntent().getExtras();
             return header;
         }
         return super.onGetInitialHeader();
