diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 03b33ef..8daa272 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -644,8 +644,9 @@
      * preference fragment.
      *
      * @param header The new header to display.
+     * @param position The position of the Header in the list.
      */
-    private void onHeaderClick(Header header) {
+    private void onHeaderClick(Header header, int position) {
         if (header == null) {
             return;
         }
@@ -655,6 +656,9 @@
         } else if (header.intent != null) {
             startActivity(header.intent);
         } else {
+            String title = header.getTitle(getResources()).toString();
+            Log.e(LOG_TAG, "Can't switch to header that has no Fragment nor Intent. Title: " +
+                            title + " Position: " + position);
             throw new IllegalStateException(
                     "Can't switch to header that has no Fragment nor Intent");
         }
@@ -1210,7 +1214,7 @@
         Object item = mHeaderAdapter.getItem(position);
         if (item instanceof Header) {
             mSelectedHeader = (Header) item;
-            onHeaderClick(mSelectedHeader);
+            onHeaderClick(mSelectedHeader, position);
             revertToInitialFragment();
         }
     }
