diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 8180c7cfd106d0a41d3ce4dd5f2d8aa87c7358a8..423321fc7ba41e3cd1151baeb95d3e5f9f666dc7 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -94,7 +94,6 @@ DebuggerSettings::DebuggerSettings()
     m_skipKnownFrames = false;
     m_debugDumpers = false;
     m_useToolTips = false;
-    m_useTerminal = false;
     m_useCustomDumpers = true;
 }
 
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index e16941a79f51414f1bc1ef45d323107f747de244..1c12a73164392318dab4edff402e4187b767b103 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -198,7 +198,6 @@ public:
     bool m_debugDumpers;
     bool m_useFastStart;
     bool m_useToolTips;
-    bool m_useTerminal;
 
     QString m_scriptFile;
 };
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 2874911c56a6b4afa1fb13a82c8e77ad28c72d52..82c48f37fb4d57d4eea92e869af0ad5fd851472a 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -282,7 +282,6 @@ QWidget *GdbOptionPage::createPage(QWidget *parent)
     m_ui.checkBoxUseCustomDumpers->setChecked(m_settings.m_useCustomDumpers);
     m_ui.checkBoxFastStart->setChecked(m_settings.m_useFastStart);
     m_ui.checkBoxUseToolTips->setChecked(m_settings.m_useToolTips);
-    m_ui.checkBoxUseTerminal->setChecked(m_settings.m_useTerminal);
 
 #ifndef QT_DEBUG
 #if 0
@@ -325,7 +324,6 @@ void GdbOptionPage::apply()
     m_settings.m_useCustomDumpers = m_ui.checkBoxUseCustomDumpers->isChecked();
     m_settings.m_useFastStart = m_ui.checkBoxFastStart->isChecked();
     m_settings.m_useToolTips = m_ui.checkBoxUseToolTips->isChecked();
-    m_settings.m_useTerminal = m_ui.checkBoxUseTerminal->isChecked();
 
     *m_plugin->m_manager->settings() = m_settings;
     m_plugin->writeSettings();
@@ -892,7 +890,6 @@ void DebuggerPlugin::writeSettings() const
 
     s->setValue("UseFastStart", m->m_useFastStart);
     s->setValue("UseToolTips", m->m_useToolTips);
-    s->setValue("UseTerminal", m->m_useTerminal);
     s->setValue("UseCustomDumpers", m->m_useCustomDumpers);
     s->setValue("SkipKnowFrames", m->m_skipKnownFrames);
     s->setValue("DebugDumpers", m->m_debugDumpers);
@@ -926,7 +923,6 @@ void DebuggerPlugin::readSettings()
     m->m_useCustomDumpers = s->value("UseCustomDumpers", true).toBool();
     m->m_useFastStart     = s->value("UseFastStart", false).toBool();
     m->m_useToolTips      = s->value("UseToolTips", false).toBool();
-    m->m_useTerminal      = s->value("UseTerminal", false).toBool();
     s->endGroup();
 
     m_manager->mainWindow()->restoreState(ba);
diff --git a/src/plugins/debugger/gdboptionpage.ui b/src/plugins/debugger/gdboptionpage.ui
index dcd5744335028aed9ba39145733e2d222d153695..ef485ccbf8333ed3c531900ee4b18f61c753d859 100644
--- a/src/plugins/debugger/gdboptionpage.ui
+++ b/src/plugins/debugger/gdboptionpage.ui
@@ -84,16 +84,6 @@
      </property>
     </widget>
    </item>
-   <item>
-    <widget class="QCheckBox" name="checkBoxUseTerminal">
-     <property name="toolTip">
-      <string>Start debugged process in a separte terminal.</string>
-     </property>
-     <property name="text">
-      <string>Start in terminal</string>
-     </property>
-    </widget>
-   </item>
    <item>
     <widget class="QCheckBox" name="checkBoxFastStart">
      <property name="toolTip">
@@ -107,9 +97,8 @@
    <item>
     <widget class="QCheckBox" name="checkBoxSkipKnownFrames">
      <property name="toolTip">
-      <string>fter checking this option 'Step Into' combines in certain situations several steps, leading to 'less noisy' debugging. So will, e.g., the atomic 
-reference counting code be skipped, and a single 'Step Into' for a signal emission will end up directly in the slot connected to it.
-</string>
+      <string>When this option is checked, 'Step Into' compresses several steps into one in certain situations, leading to 'less noisy' debugging. So will, e.g., the atomic
+ reference counting code be skipped, and a single 'Step Into' for a signal emission will end up directly in the slot connected to it.</string>
      </property>
      <property name="text">
       <string>Skip known frames when stepping</string>
@@ -173,8 +162,6 @@ reference counting code be skipped, and a single 'Step Into' for a signal emissi
    <container>1</container>
   </customwidget>
  </customwidgets>
- <resources>
-  <include location="../coreplugin/core.qrc"/>
- </resources>
+ <resources/>
  <connections/>
 </ui>
diff --git a/src/plugins/help/centralwidget.cpp b/src/plugins/help/centralwidget.cpp
index a944efa29b3af5a28c0f1f8306d7360f22e8f68f..888e1b26ec1f7b0d4277fd913ef986cb1bad0361 100644
--- a/src/plugins/help/centralwidget.cpp
+++ b/src/plugins/help/centralwidget.cpp
@@ -407,7 +407,7 @@ void CentralWidget::setSourceInNewTab(const QUrl &url)
     tabWidget->setCurrentIndex(tabWidget->addTab(viewer,
         quoteTabTitle(viewer->documentTitle())));
 
-#if defined(QT_NO_WEBIT)
+#if defined(QT_NO_WEBKIT)
     QFont font = qApp->font();
     if (helpEngine->customValue(QLatin1String("useBrowserFont")).toBool())
         font = qVariantValue<QFont>(helpEngine->customValue(QLatin1String("browserFont")));
diff --git a/src/plugins/projectexplorer/abstractprocessstep.h b/src/plugins/projectexplorer/abstractprocessstep.h
index 3aac602291cf4255d969b916e2b7d8f29f743f94..43e8f49015f73db6db56da42b92fbd06bc9f03f9 100644
--- a/src/plugins/projectexplorer/abstractprocessstep.h
+++ b/src/plugins/projectexplorer/abstractprocessstep.h
@@ -51,9 +51,9 @@ namespace ProjectExplorer {
   It should be used as a base class if your buildstep just needs to run a process.
 
   Usage:
-    Use setCommand(), setArguments(), setWorkingDirectory() to specify the process you want to run.
-    (You need to do that before calling AbstractProcess::init())
-    Inside YourBuildStep::init() call AbstractProcessStep::init()
+    Use setCommand(), setArguments(), setWorkingDirectory() to specify the process you want to run
+    (you need to do that before calling AbstractProcessStep::init()).
+    Inside YourBuildStep::init() call AbstractProcessStep::init().
     Inside YourBuildStep::run() call AbstractProcessStep::run(), which automatically starts the proces
     and by default adds the output on stdOut and stdErr to the OutputWindow.
     If you need to process the process output override stdOut() and/or stdErr.
diff --git a/src/plugins/projectexplorer/consoleprocess_unix.cpp b/src/plugins/projectexplorer/consoleprocess_unix.cpp
index 7b432c0af03de2a2b75485fdd8511efd6962b867..122ae7e4bdf411d54d9f503aa03f9044f8b39172 100644
--- a/src/plugins/projectexplorer/consoleprocess_unix.cpp
+++ b/src/plugins/projectexplorer/consoleprocess_unix.cpp
@@ -46,29 +46,36 @@ ConsoleProcess::~ConsoleProcess()
 {
 }
 
+static QString shellEscape(const QString &in)
+{
+    QString out = in;
+    out.replace('\'', "'\''");
+    out.prepend('\'');
+    out.append('\'');
+    return out;
+}
+
 bool ConsoleProcess::start(const QString &program, const QStringList &args)
 {
     if (m_process->state() != QProcess::NotRunning)
         return false;
     QString shellArgs;
     shellArgs += QLatin1String("cd ");
-    shellArgs += workingDirectory();
+    shellArgs += shellEscape(workingDirectory());
     shellArgs += QLatin1Char(';');
-    shellArgs += program;
+    shellArgs += shellEscape(program);
     foreach (const QString &arg, args) {
         shellArgs += QLatin1Char(' ');
-        shellArgs += QLatin1Char('\'');
-        shellArgs += arg;
-        shellArgs += QLatin1Char('\'');
+        shellArgs += shellEscape(arg);
     }
-    shellArgs += QLatin1String("; echo; echo \"Press enter to close this window\"; read");
+    shellArgs += QLatin1String("; echo; echo \"Press enter to close this window\"; read DUMMY");
 
     m_process->setEnvironment(environment());
 
     connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
             this, SLOT(processFinished(int, QProcess::ExitStatus)));
 
-    m_process->start(QLatin1String("xterm"), QStringList() << QLatin1String("-e") << shellArgs);
+    m_process->start(QLatin1String("xterm"), QStringList() << QLatin1String("-e") << "/bin/sh" << "-c" << shellArgs);
     if (!m_process->waitForStarted())
         return false;
     emit processStarted();