diff --git a/src/plugins/qmlinspector/inspectoroutputpane.cpp b/src/plugins/qmlinspector/inspectoroutputpane.cpp
index 333c63eb5d4797a96340b82474fe3f88bbe97ff9..38fc464931d516168143c44a8589e3a4a4ecddc3 100644
--- a/src/plugins/qmlinspector/inspectoroutputpane.cpp
+++ b/src/plugins/qmlinspector/inspectoroutputpane.cpp
@@ -27,114 +27,63 @@
 **
 **************************************************************************/
 #include "inspectoroutputpane.h"
+#include <coreplugin/coreconstants.h>
 
-#include <QtGui/qtextedit.h>
+#include <QtGui/QTextEdit>
+#include <QtGui/QContextMenuEvent>
+#include <QtGui/QMenu>
+#include <QtGui/QAction>
+#include <QtGui/QIcon>
 
 using namespace Qml;
 
-InspectorOutputPane::InspectorOutputPane(QObject *parent)
-    : Core::IOutputPane(parent),
-      m_textEdit(new QTextEdit)
+InspectorOutputWidget::InspectorOutputWidget(QWidget *parent)
+    : QTextEdit(parent)
 {
-}
-
-InspectorOutputPane::~InspectorOutputPane()
-{
-    delete m_textEdit;
-}
-
-QWidget *InspectorOutputPane::outputWidget(QWidget *parent)
-{
-    Q_UNUSED(parent);
-    return m_textEdit;
-}
-
-QList<QWidget*> InspectorOutputPane::toolBarWidgets() const
-{
-    return QList<QWidget *>();
-}
-
-QString InspectorOutputPane::name() const
-{
-    return tr("Inspector Output");
-}
-
-int InspectorOutputPane::priorityInStatusBar() const
-{
-    return 1;
-}
-
-void InspectorOutputPane::clearContents()
-{
-    m_textEdit->clear();
-}
-
-void InspectorOutputPane::visibilityChanged(bool visible)
-{
-    Q_UNUSED(visible);
-}
-
-void InspectorOutputPane::setFocus()
-{
-    m_textEdit->setFocus();
-}
-
-bool InspectorOutputPane::hasFocus()
-{
-    return m_textEdit->hasFocus();
-}
+    setWindowTitle(tr("Output"));
 
-bool InspectorOutputPane::canFocus()
-{
-    return true;
+    m_clearContents = new QAction(QString(tr("Clear")), this);
+    m_clearContents->setIcon(QIcon(Core::Constants::ICON_CLEAR));
+    connect(m_clearContents, SIGNAL(triggered()), SLOT(clear()));
 }
 
-bool InspectorOutputPane::canNavigate()
+InspectorOutputWidget::~InspectorOutputWidget()
 {
-    return false;
-}
 
-bool InspectorOutputPane::canNext()
-{
-    return false;
 }
 
-bool InspectorOutputPane::canPrevious()
+void InspectorOutputWidget::contextMenuEvent(QContextMenuEvent *e)
 {
-    return false;
-}
+    QMenu *menu = createStandardContextMenu(e->globalPos());
 
-void InspectorOutputPane::goToNext()
-{
-}
-
-void InspectorOutputPane::goToPrev()
-{
+    menu->addSeparator();
+    menu->addAction(m_clearContents);
+    menu->exec(e->globalPos());
 }
 
-void InspectorOutputPane::addOutput(RunControl *, const QString &text)
+void InspectorOutputWidget::addOutput(RunControl *, const QString &text)
 {
-    m_textEdit->insertPlainText(text);
-    m_textEdit->moveCursor(QTextCursor::End);
+    insertPlainText(text);
+    moveCursor(QTextCursor::End);
 }
 
-void InspectorOutputPane::addOutputInline(RunControl *, const QString &text)
+void InspectorOutputWidget::addOutputInline(RunControl *, const QString &text)
 {
-    m_textEdit->insertPlainText(text);
-    m_textEdit->moveCursor(QTextCursor::End);
+    insertPlainText(text);
+    moveCursor(QTextCursor::End);
 }
 
-void InspectorOutputPane::addErrorOutput(RunControl *, const QString &text)
+void InspectorOutputWidget::addErrorOutput(RunControl *, const QString &text)
 {
-    m_textEdit->append(text);
-    m_textEdit->moveCursor(QTextCursor::End);
+    append(text);
+    moveCursor(QTextCursor::End);
 }
 
-void InspectorOutputPane::addInspectorStatus(const QString &text)
+void InspectorOutputWidget::addInspectorStatus(const QString &text)
 {
-    m_textEdit->setTextColor(Qt::darkGreen);
-    m_textEdit->append(text);
-    m_textEdit->moveCursor(QTextCursor::End);
-    m_textEdit->setTextColor(Qt::black);
+    setTextColor(Qt::darkGreen);
+    append(text);
+    moveCursor(QTextCursor::End);
+    setTextColor(Qt::black);
 }
 
diff --git a/src/plugins/qmlinspector/inspectoroutputpane.h b/src/plugins/qmlinspector/inspectoroutputpane.h
index 0bc53d323120cb2ff0d0475b90e5565e57b23a87..0b2d58bb718f9f56b7ba3b90c8efc772d6cddd7a 100644
--- a/src/plugins/qmlinspector/inspectoroutputpane.h
+++ b/src/plugins/qmlinspector/inspectoroutputpane.h
@@ -26,43 +26,28 @@
 ** contact the sales department at http://qt.nokia.com/contact.
 **
 **************************************************************************/
-#ifndef INSPECTOROUTPUTPANE_H
-#define INSPECTOROUTPUTPANE_H
-
-#include <coreplugin/ioutputpane.h>
+#ifndef INSPECTOROUTPUTWIDGET_H
+#define INSPECTOROUTPUTWIDGET_H
 
 #include <QtCore/QObject>
+#include <QtGui/QTextEdit>
+
+QT_BEGIN_NAMESPACE
+class QAction;
+class QContextMenuEvent;
+QT_END_NAMESPACE
 
-QT_FORWARD_DECLARE_CLASS(QTextEdit);
 QT_FORWARD_DECLARE_CLASS(RunControl);
 
 namespace Qml {
 
-class InspectorOutputPane : public Core::IOutputPane
+class InspectorOutputWidget : public QTextEdit
 {
     Q_OBJECT
-public:
-    InspectorOutputPane(QObject *parent = 0);
-    virtual ~InspectorOutputPane();
-
-    virtual QWidget *outputWidget(QWidget *parent);
-    virtual QList<QWidget*> toolBarWidgets() const;
-    virtual QString name() const;
-
-    virtual int priorityInStatusBar() const;
 
-    virtual void clearContents();
-    virtual void visibilityChanged(bool visible);
-
-    virtual void setFocus();
-    virtual bool hasFocus();
-    virtual bool canFocus();
-
-    virtual bool canNavigate();
-    virtual bool canNext();
-    virtual bool canPrevious();
-    virtual void goToNext();
-    virtual void goToPrev();
+public:
+    InspectorOutputWidget(QWidget *parent = 0);
+    virtual ~InspectorOutputWidget();
 
 public slots:
     void addOutput(RunControl *, const QString &text);
@@ -71,11 +56,14 @@ public slots:
     void addErrorOutput(RunControl *, const QString &text);
     void addInspectorStatus(const QString &text);
 
+protected:
+    void contextMenuEvent(QContextMenuEvent *e);
+
 private:
-    QTextEdit *m_textEdit;
+    QAction *m_clearContents;
 };
 
 }
 
-#endif
+#endif // INSPECTOROUTPUTWIDGET_H
 
diff --git a/src/plugins/qmlinspector/qmlinspector.cpp b/src/plugins/qmlinspector/qmlinspector.cpp
index d94bae2ecf7033298779be05ffd4f38896b27ba3..7d569fa36faa4101929fa4dfc89d59144ef1202c 100644
--- a/src/plugins/qmlinspector/qmlinspector.cpp
+++ b/src/plugins/qmlinspector/qmlinspector.cpp
@@ -29,6 +29,7 @@
 #include "qmlinspectorconstants.h"
 #include "qmlinspector.h"
 #include "debugger/debuggermainwindow.h"
+#include "inspectoroutputwidget.h"
 
 #include <debugger/debuggeruiswitcher.h>
 
@@ -163,7 +164,11 @@ QmlInspector::QmlInspector(QObject *parent)
     m_conn(0),
     m_client(0),
     m_engineQuery(0),
-    m_contextQuery(0)
+    m_contextQuery(0),
+    m_objectTreeDock(0),
+    m_frameRateDock(0),
+    m_propertyWatcherDock(0),
+    m_inspectorOutputDock(0)
 {
     m_watchTableModel = new WatchTableModel(0, this);
 
@@ -346,13 +351,20 @@ void QmlInspector::initWidgets()
     propSplitter->setStretchFactor(1, 1);
     propSplitter->setWindowTitle(tr("Properties and Watchers"));
 
+
+    InspectorOutputWidget *inspectorOutput = new InspectorOutputWidget();
+    connect(this, SIGNAL(statusMessage(QString)),
+            inspectorOutput, SLOT(addInspectorStatus(QString)));
+
     m_objectTreeDock = Debugger::DebuggerUISwitcher::instance()->createDockWidget(Qml::Constants::LANG_QML,
                                                             treeWindow, Qt::BottomDockWidgetArea);
     m_frameRateDock = Debugger::DebuggerUISwitcher::instance()->createDockWidget(Qml::Constants::LANG_QML,
                                                             m_frameRateWidget, Qt::BottomDockWidgetArea);
     m_propertyWatcherDock = Debugger::DebuggerUISwitcher::instance()->createDockWidget(Qml::Constants::LANG_QML,
                                                             propSplitter, Qt::BottomDockWidgetArea);
-    m_dockWidgets << m_objectTreeDock << m_frameRateDock << m_propertyWatcherDock;
+    m_inspectorOutputDock = Debugger::DebuggerUISwitcher::instance()->createDockWidget(Qml::Constants::LANG_QML,
+                                                            inspectorOutput, Qt::BottomDockWidgetArea);
+    m_dockWidgets << m_objectTreeDock << m_frameRateDock << m_propertyWatcherDock << m_inspectorOutputDock;
 }
 
 void QmlInspector::setSimpleDockWidgetArrangement()
@@ -381,6 +393,8 @@ void QmlInspector::setSimpleDockWidgetArrangement()
     }
 
     mainWindow->tabifyDockWidget(m_frameRateDock, m_propertyWatcherDock);
+    mainWindow->tabifyDockWidget(m_frameRateDock, m_inspectorOutputDock);
+
     mainWindow->setTrackingEnabled(true);
 }
 
diff --git a/src/plugins/qmlinspector/qmlinspector.h b/src/plugins/qmlinspector/qmlinspector.h
index 8db7b233a617ee8ab3894822f8b0f007fea9654a..25091c19f7c0597f30d7baacac59ba45083949a3 100644
--- a/src/plugins/qmlinspector/qmlinspector.h
+++ b/src/plugins/qmlinspector/qmlinspector.h
@@ -107,6 +107,7 @@ private:
     QDockWidget *m_objectTreeDock;
     QDockWidget *m_frameRateDock;
     QDockWidget *m_propertyWatcherDock;
+    QDockWidget *m_inspectorOutputDock;
     QList<QDockWidget*> m_dockWidgets;
 
 };
diff --git a/src/plugins/qmlinspector/qmlinspector.pro b/src/plugins/qmlinspector/qmlinspector.pro
index e382eb75d10b1c0371b8132fecdb231c480947d8..f0345dcc054455ec81d1479817624720762e3944 100644
--- a/src/plugins/qmlinspector/qmlinspector.pro
+++ b/src/plugins/qmlinspector/qmlinspector.pro
@@ -11,12 +11,12 @@ DEFINES += QMLINSPECTOR_LIBRARY
 HEADERS += qmlinspectorplugin.h \
            qmlinspectorconstants.h \
            qmlinspector.h \
-           inspectoroutputpane.h \
+           inspectoroutputwidget.h \
            qmlinspector_global.h
 
 SOURCES += qmlinspectorplugin.cpp \
            qmlinspector.cpp \
-           inspectoroutputpane.cpp
+           inspectoroutputwidget.cpp
 
 OTHER_FILES += QmlInspector.pluginspec
 RESOURCES += qmlinspector.qrc
diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.cpp b/src/plugins/qmlinspector/qmlinspectorplugin.cpp
index c99d42895f66284c6ec0ea5cf63c190afc5fc9c7..e7fb2ccef94fce751061bf9b66f8bea62ba47e27 100644
--- a/src/plugins/qmlinspector/qmlinspectorplugin.cpp
+++ b/src/plugins/qmlinspector/qmlinspectorplugin.cpp
@@ -28,7 +28,6 @@
 **************************************************************************/
 #include "qmlinspectorconstants.h"
 #include "qmlinspector.h"
-#include "inspectoroutputpane.h"
 #include "qmlinspectorplugin.h"
 
 #include <debugger/debuggeruiswitcher.h>
@@ -89,10 +88,6 @@ QmlInspectorPlugin::~QmlInspectorPlugin()
 
 void QmlInspectorPlugin::shutdown()
 {
-    removeObject(m_outputPane);
-    delete m_outputPane;
-    m_outputPane = 0;
-
     removeObject(m_inspector);
     delete m_inspector;
     m_inspector = 0;
@@ -115,12 +110,6 @@ bool QmlInspectorPlugin::initialize(const QStringList &arguments, QString *error
 
     connect(m_connectionTimer, SIGNAL(timeout()), SLOT(pollInspector()));
 
-    m_outputPane = new InspectorOutputPane;
-    addObject(m_outputPane);
-
-    connect(m_inspector, SIGNAL(statusMessage(QString)),
-            m_outputPane, SLOT(addInspectorStatus(QString)));
-
     return true;
 }
 
diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.h b/src/plugins/qmlinspector/qmlinspectorplugin.h
index 5625e2d1a819b5b5fb2576180031db66abac5272..ee0958719a0e57fb64a7c6eac4cc6b23bfe2df68 100644
--- a/src/plugins/qmlinspector/qmlinspectorplugin.h
+++ b/src/plugins/qmlinspector/qmlinspectorplugin.h
@@ -47,7 +47,6 @@ namespace ProjectExplorer {
 
 namespace Qml {
     class QmlInspector;
-    class InspectorOutputPane;
 
 const int MaxConnectionAttempts = 20;
 
@@ -74,7 +73,6 @@ private slots:
 
 private:
     QmlInspector *m_inspector;
-    InspectorOutputPane *m_outputPane;
     QTimer *m_connectionTimer;
     int m_connectionAttempts;
 };