diff --git a/src/plugins/android/androidmanifesteditorwidget.cpp b/src/plugins/android/androidmanifesteditorwidget.cpp
index d71122ef440917ced63beb040d3f4c904159af4f..6d345c778f790ac673c809aac34995858e88cc03 100644
--- a/src/plugins/android/androidmanifesteditorwidget.cpp
+++ b/src/plugins/android/androidmanifesteditorwidget.cpp
@@ -554,19 +554,20 @@ bool AndroidManifestEditorWidget::setActivePage(EditorPage page)
 
     if (page == Source) {
         syncToEditor();
-        setFocus();
     } else {
         if (!syncToWidgets())
             return false;
-// TODO?
-//        QWidget *fw = m_overlayWidget->focusWidget();
-//        if (fw && fw != m_overlayWidget)
-//            fw->setFocus();
-//        else
-//            m_packageNameLineEdit->setFocus();
     }
 
     setCurrentIndex(page);
+
+    QWidget *cw = currentWidget();
+    if (cw) {
+        if (cw->focusWidget())
+            cw->focusWidget()->setFocus();
+        else
+            cw->setFocus();
+    }
     return true;
 }