diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index ce1be96905f6b19bfc39016aedbf79beea8997c6..7c2e94a57acfc2f670caf30f1c82f765cc59fe60 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -121,6 +121,8 @@ AppOutputPane::AppOutputPane() :
     m_stopButton(new QToolButton),
     m_attachButton(new QToolButton)
 {
+    setObjectName(QLatin1String("AppOutputPane")); // Used in valgrind engine
+
     // Rerun
     m_reRunButton->setIcon(QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL)));
     m_reRunButton->setToolTip(tr("Re-run this run-configuration"));
diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp
index 2dac9b91cbc6c3b52959c432e5a182b2f0e633b8..09ae2bdb27091d90b6e2ac8c37c41f8363bda15c 100644
--- a/src/plugins/valgrind/memchecktool.cpp
+++ b/src/plugins/valgrind/memchecktool.cpp
@@ -86,6 +86,7 @@
 #include <utils/stylehelper.h>
 
 using namespace Analyzer;
+using namespace ProjectExplorer;
 using namespace Valgrind::XmlProtocol;
 
 namespace Valgrind {
@@ -116,11 +117,11 @@ void MemcheckErrorFilterProxyModel::setFilterExternalIssues(bool filter)
 
 bool MemcheckErrorFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
 {
-    // we only deal with toplevel items
+    // We only deal with toplevel items.
     if (sourceParent.isValid())
         return true;
 
-    // because toplevel items have no parent, we can't use sourceParent to find them. we just use
+    // Because toplevel items have no parent, we can't use sourceParent to find them. we just use
     // sourceParent as an invalid index, telling the model that the index we're looking for has no
     // parent.
     QAbstractItemModel *model = sourceModel();
@@ -130,23 +131,21 @@ bool MemcheckErrorFilterProxyModel::filterAcceptsRow(int sourceRow, const QModel
 
     const Error error = sourceIndex.data(ErrorListModel::ErrorRole).value<Error>();
 
-    // filter on kind
+    // Filter on kind
     if (!m_acceptedKinds.contains(error.kind()))
         return false;
 
-    // filter non-project stuff
+    // Filter non-project stuff
     if (m_filterExternalIssues && !error.stacks().isEmpty()) {
         // ALGORITHM: look at last five stack frames, if none of these is inside any open projects,
         // assume this error was created by an external library
-        ProjectExplorer::SessionManager *session
-            = ProjectExplorer::ProjectExplorerPlugin::instance()->session();
+        SessionManager *session = ProjectExplorerPlugin::instance()->session();
         QSet<QString> validFolders;
-        foreach (ProjectExplorer::Project *project, session->projects()) {
+        foreach (Project *project, session->projects()) {
             validFolders << project->projectDirectory();
-            foreach (ProjectExplorer::Target *target, project->targets()) {
-                foreach (ProjectExplorer::BuildConfiguration *config, target->buildConfigurations()) {
+            foreach (Target *target, project->targets()) {
+                foreach (BuildConfiguration *config, target->buildConfigurations())
                     validFolders << config->buildDirectory();
-                }
             }
         }
 
@@ -155,7 +154,7 @@ bool MemcheckErrorFilterProxyModel::filterAcceptsRow(int sourceRow, const QModel
         const int framesToLookAt = qMin(6, frames.size());
 
         bool inProject = false;
-        for ( int i = 0; i < framesToLookAt; ++i ) {
+        for (int i = 0; i < framesToLookAt; ++i) {
             const Frame &frame = frames.at(i);
             foreach (const QString &folder, validFolders) {
                 if (frame.object().startsWith(folder)) {
@@ -228,13 +227,11 @@ void MemcheckTool::settingsDestroyed(QObject *settings)
 void MemcheckTool::maybeActiveRunConfigurationChanged()
 {
     AnalyzerSettings *settings = 0;
-    ProjectExplorer::ProjectExplorerPlugin *pe = ProjectExplorer::ProjectExplorerPlugin::instance();
-    if (ProjectExplorer::Project *project = pe->startupProject()) {
-        if (ProjectExplorer::Target *target = project->activeTarget()) {
-            if (ProjectExplorer::RunConfiguration *rc = target->activeRunConfiguration())
+    ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance();
+    if (Project *project = pe->startupProject())
+        if (Target *target = project->activeTarget())
+            if (RunConfiguration *rc = target->activeRunConfiguration())
                 settings = rc->extraAspect<AnalyzerRunConfigurationAspect>();
-        }
-    }
 
     if (!settings) // fallback to global settings
         settings = AnalyzerGlobalSettings::instance();
@@ -285,9 +282,9 @@ Core::Id MemcheckTool::id() const
     return Core::Id("Memcheck");
 }
 
-ProjectExplorer::RunMode MemcheckTool::runMode() const
+RunMode MemcheckTool::runMode() const
 {
-    return ProjectExplorer::MemcheckRunMode;
+    return MemcheckRunMode;
 }
 
 QString MemcheckTool::displayName() const
@@ -392,7 +389,7 @@ QWidget *MemcheckTool::createWidgets()
     errorDock->show();
     mw->splitDockWidget(mw->toolBarDockWidget(), errorDock, Qt::Vertical);
 
-    connect(ProjectExplorer::ProjectExplorerPlugin::instance(),
+    connect(ProjectExplorerPlugin::instance(),
             SIGNAL(updateRunActions()), SLOT(maybeActiveRunConfigurationChanged()));
 
     //
@@ -450,10 +447,10 @@ QWidget *MemcheckTool::createWidgets()
 }
 
 IAnalyzerEngine *MemcheckTool::createEngine(const AnalyzerStartParameters &sp,
-                                            ProjectExplorer::RunConfiguration *runConfiguration)
+                                            RunConfiguration *runConfiguration)
 {
     m_frameFinder->setFiles(runConfiguration ? runConfiguration->target()
-        ->project()->files(ProjectExplorer::Project::AllFiles) : QStringList());
+        ->project()->files(Project::AllFiles) : QStringList());
 
     MemcheckEngine *engine = new MemcheckEngine(this, sp, runConfiguration);
 
@@ -479,7 +476,7 @@ void MemcheckTool::engineStarting(const IAnalyzerEngine *engine)
     clearErrorView();
 
     QString dir;
-    if (ProjectExplorer::RunConfiguration *rc = engine->runConfiguration())
+    if (RunConfiguration *rc = engine->runConfiguration())
         dir = rc->target()->project()->projectDirectory() + QDir::separator();
 
     const MemcheckEngine *mEngine = dynamic_cast<const MemcheckEngine *>(engine);
diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp
index 9ec0648a1e658eacc274049b8fcf1c88260a470b..383664c5d6106c742ccbff71638f99ccc39e6624 100644
--- a/src/plugins/valgrind/valgrindengine.cpp
+++ b/src/plugins/valgrind/valgrindengine.cpp
@@ -45,9 +45,12 @@
 #define VALGRIND_DEBUG_OUTPUT 0
 
 using namespace Analyzer;
-using namespace Valgrind::Internal;
+using namespace Core;
 using namespace Utils;
 
+namespace Valgrind {
+namespace Internal {
+
 const int progressMaximum  = 1000000;
 
 ValgrindEngine::ValgrindEngine(IAnalyzerTool *tool, const AnalyzerStartParameters &sp,
@@ -79,9 +82,9 @@ bool ValgrindEngine::start()
 {
     emit starting(this);
 
-    Core::FutureProgress *fp = Core::ICore::progressManager()->addTask(m_progress->future(),
+    FutureProgress *fp = ICore::progressManager()->addTask(m_progress->future(),
                                                         progressTitle(), QLatin1String("valgrind"));
-    fp->setKeepOnFinish(Core::FutureProgress::HideOnFinish);
+    fp->setKeepOnFinish(FutureProgress::HideOnFinish);
     m_progress->setProgressRange(0, progressMaximum);
     m_progress->reportStarted();
     m_progressWatcher->setFuture(m_progress->future());
@@ -89,9 +92,9 @@ bool ValgrindEngine::start()
 
     const AnalyzerStartParameters &sp = startParameters();
 #if VALGRIND_DEBUG_OUTPUT
-    emit outputReceived(tr("Valgrind options: %1").arg(toolArguments().join(QLatin1Char(' '))), Utils::DebugFormat);
-    emit outputReceived(tr("Working directory: %1").arg(sp.workingDirectory), Utils::DebugFormat);
-    emit outputReceived(tr("Commandline arguments: %1").arg(sp.debuggeeArgs), Utils::DebugFormat);
+    emit outputReceived(tr("Valgrind options: %1").arg(toolArguments().join(QLatin1Char(' '))), DebugFormat);
+    emit outputReceived(tr("Working directory: %1").arg(sp.workingDirectory), DebugFormat);
+    emit outputReceived(tr("Commandline arguments: %1").arg(sp.debuggeeArgs), DebugFormat);
 #endif
 
     runner()->setWorkingDirectory(sp.workingDirectory);
@@ -140,12 +143,12 @@ void ValgrindEngine::handleProgressCanceled()
 
 void ValgrindEngine::handleProgressFinished()
 {
-    QApplication::alert(Core::ICore::mainWindow(), 3000);
+    QApplication::alert(ICore::mainWindow(), 3000);
 }
 
 void ValgrindEngine::runnerFinished()
 {
-    emit outputReceived(tr("** Analyzing finished **\n"), Utils::NormalMessageFormat);
+    emit outputReceived(tr("** Analyzing finished **\n"), NormalMessageFormat);
     emit finished();
 
     m_progress->reportFinished();
@@ -156,7 +159,7 @@ void ValgrindEngine::runnerFinished()
                this, SLOT(runnerFinished()));
 }
 
-void ValgrindEngine::receiveProcessOutput(const QByteArray &b, Utils::OutputFormat format)
+void ValgrindEngine::receiveProcessOutput(const QByteArray &output, OutputFormat format)
 {
     int progress = m_progress->progressValue();
     if (progress < 5 * progressMaximum / 10)
@@ -164,32 +167,30 @@ void ValgrindEngine::receiveProcessOutput(const QByteArray &b, Utils::OutputForm
     else if (progress < 9 * progressMaximum / 10)
         progress += progress / 1000;
     m_progress->setProgressValue(progress);
-    emit outputReceived(QString::fromLocal8Bit(b), format);
+    emit outputReceived(QString::fromLocal8Bit(output), format);
 }
 
-void ValgrindEngine::receiveProcessError(const QString &error, QProcess::ProcessError e)
+void ValgrindEngine::receiveProcessError(const QString &message, QProcess::ProcessError error)
 {
-    if (e == QProcess::FailedToStart) {
+    if (error == QProcess::FailedToStart) {
         const QString &valgrind = m_settings->subConfig<ValgrindBaseSettings>()->valgrindExecutable();
         if (!valgrind.isEmpty())
-            emit outputReceived(tr("** Error: \"%1\" could not be started: %2 **\n").arg(valgrind).arg(error), Utils::ErrorMessageFormat);
+            emit outputReceived(tr("** Error: \"%1\" could not be started: %2 **\n").arg(valgrind).arg(message), ErrorMessageFormat);
         else
-            emit outputReceived(tr("** Error: no valgrind executable set **\n"), Utils::ErrorMessageFormat);
-    } else if (m_isStopping && e == QProcess::Crashed) { // process gets killed on stop
-        emit outputReceived(tr("** Process Terminated **\n"), Utils::ErrorMessageFormat);
+            emit outputReceived(tr("** Error: no valgrind executable set **\n"), ErrorMessageFormat);
+    } else if (m_isStopping && error == QProcess::Crashed) { // process gets killed on stop
+        emit outputReceived(tr("** Process Terminated **\n"), ErrorMessageFormat);
     } else {
-        emit outputReceived(QString::fromLatin1("** %1 **\n").arg(error), Utils::ErrorMessageFormat);
+        emit outputReceived(QString::fromLatin1("** %1 **\n").arg(message), ErrorMessageFormat);
     }
 
     if (m_isStopping)
         return;
 
-    ///FIXME: get a better API for this into Qt Creator
-    QList<Core::IOutputPane *> panes = ExtensionSystem::PluginManager::getObjects<Core::IOutputPane>();
-    foreach (Core::IOutputPane *pane, panes) {
-        if (pane->displayName() == tr("Application Output")) {
-            pane->popup(Core::IOutputPane::NoModeSwitch);
-            break;
-        }
-    }
+    QObject *obj = ExtensionSystem::PluginManager::getObjectByName(QLatin1String("AppOutputPane"));
+    if (IOutputPane *pane = qobject_cast<IOutputPane *>(obj))
+        pane->popup(IOutputPane::NoModeSwitch);
 }
+
+} // namespace Internal
+} // namepsace Valgrind
diff --git a/src/plugins/valgrind/valgrindengine.h b/src/plugins/valgrind/valgrindengine.h
index bebfceafc289fae73da2e7861009d11603bac670..c4f2d83f569b4fda38801d62154036143e52254d 100644
--- a/src/plugins/valgrind/valgrindengine.h
+++ b/src/plugins/valgrind/valgrindengine.h
@@ -32,19 +32,13 @@
 #define VALGRINDENGINE_H
 
 #include <analyzerbase/ianalyzerengine.h>
-
 #include <utils/environment.h>
-
 #include <valgrind/valgrindrunner.h>
 
-#include <QString>
-#include <QByteArray>
 #include <QFutureInterface>
 #include <QFutureWatcher>
 
-namespace Analyzer {
-class AnalyzerSettings;
-}
+namespace Analyzer { class AnalyzerSettings; }
 
 namespace Valgrind {
 namespace Internal {
@@ -78,8 +72,8 @@ private slots:
     void handleProgressFinished();
     void runnerFinished();
 
-    void receiveProcessOutput(const QByteArray &, Utils::OutputFormat);
-    void receiveProcessError(const QString &, QProcess::ProcessError);
+    void receiveProcessOutput(const QByteArray &output, Utils::OutputFormat format);
+    void receiveProcessError(const QString &message, QProcess::ProcessError error);
 
 private:
     bool m_isStopping;