diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp
index 22e82d812f6b5462685590afdaeedc573f2e0f19..02996bfa7bf830be405393bd1953e01ae9ddef4d 100644
--- a/src/plugins/debugger/breakwindow.cpp
+++ b/src/plugins/debugger/breakwindow.cpp
@@ -527,6 +527,10 @@ void BreakWindow::setModel(QAbstractItemModel *model)
     resizeColumnToContents(0); // Number
     resizeColumnToContents(3); // Line
     resizeColumnToContents(6); // Ignore count
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustBreakpointsColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
     connect(model, SIGNAL(layoutChanged()), this, SLOT(expandAll()));
 }
 
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 01f9051d7c8e6b0beb1d8ad908600b42f5a8e090..b20222b597dcecc3697d04fb959bf728aac279dc 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -2584,7 +2584,9 @@ void DebuggerPluginPrivate::extensionsInitialized()
     ICore *core = ICore::instance();
     QTC_ASSERT(core, return);
     m_coreSettings = core->settings();
+
     m_debuggerSettings = new DebuggerSettings(m_coreSettings);
+    m_debuggerSettings->readSettings();
 
     connect(core, SIGNAL(coreAboutToClose()), this, SLOT(coreShutdown()));
 
@@ -2776,8 +2778,6 @@ void DebuggerPluginPrivate::extensionsInitialized()
     m_commonOptionsPage = new CommonOptionsPage(m_globalDebuggerOptions);
     m_plugin->addAutoReleasedObject(m_commonOptionsPage);
 
-    m_debuggerSettings->readSettings();
-
     // Do not fail to load the whole plugin if something goes wrong here.
     QString errorMessage;
     if (!parseArguments(m_arguments, &m_cmdLineEnabledEngines, &errorMessage)) {
diff --git a/src/plugins/debugger/moduleswindow.cpp b/src/plugins/debugger/moduleswindow.cpp
index ee23318b78934eabd9afba834a0f1193ff4217f8..390397f15d130d44d4400b31d51c14c074cf2f79 100644
--- a/src/plugins/debugger/moduleswindow.cpp
+++ b/src/plugins/debugger/moduleswindow.cpp
@@ -215,7 +215,10 @@ void ModulesWindow::setAlwaysResizeColumnsToContents(bool on)
 void ModulesWindow::setModel(QAbstractItemModel *model)
 {
     QTreeView::setModel(model);
-    setAlwaysResizeColumnsToContents(true);
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustModulesColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
 }
 
 } // namespace Internal
diff --git a/src/plugins/debugger/registerwindow.cpp b/src/plugins/debugger/registerwindow.cpp
index 9407618adffed5be9f5485f6bdc9b256aafce30f..491f314bb3f8670ef09af07ece01f0ebfa14db23 100644
--- a/src/plugins/debugger/registerwindow.cpp
+++ b/src/plugins/debugger/registerwindow.cpp
@@ -296,6 +296,10 @@ void RegisterWindow::setModel(QAbstractItemModel *model)
 {
     QTreeView::setModel(model);
     setAlwaysResizeColumnsToContents(true);
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustRegistersColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
 }
 
 void RegisterWindow::reloadRegisters()
diff --git a/src/plugins/debugger/snapshotwindow.cpp b/src/plugins/debugger/snapshotwindow.cpp
index 92079f91e760b8ddc993dd483258005fe3ba36b9..6f1429611d8cab77ce14f92a099df1fcd159ebd4 100644
--- a/src/plugins/debugger/snapshotwindow.cpp
+++ b/src/plugins/debugger/snapshotwindow.cpp
@@ -135,6 +135,16 @@ void SnapshotWindow::removeSnapshot(int i)
     m_snapshotHandler->at(i)->quitDebugger();
 }
 
+void SnapshotWindow::setModel(QAbstractItemModel *model)
+{
+    QTreeView::setModel(model);
+    setAlwaysResizeColumnsToContents(true);
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustSnapshotsColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
+}
+
 void SnapshotWindow::resizeColumnsToContents()
 {
     for (int i = model()->columnCount(); --i >= 0; )
diff --git a/src/plugins/debugger/snapshotwindow.h b/src/plugins/debugger/snapshotwindow.h
index 3b6ce709c09f219aa579d03f63ed21a67d852d26..f9b2a399590e8595b3e261f432b44e1d317d55d3 100644
--- a/src/plugins/debugger/snapshotwindow.h
+++ b/src/plugins/debugger/snapshotwindow.h
@@ -59,6 +59,7 @@ private:
     void removeSnapshot(int i);
     void keyPressEvent(QKeyEvent *ev);
     void contextMenuEvent(QContextMenuEvent *ev);
+    void setModel(QAbstractItemModel *model);
 
     SnapshotHandler *m_snapshotHandler;
 };
diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp
index 92e0722e7acadfd06e77c6771f71fea5d1792a95..ef51bf71e51894cf89f9cac5041e686a4275794a 100644
--- a/src/plugins/debugger/stackwindow.cpp
+++ b/src/plugins/debugger/stackwindow.cpp
@@ -105,6 +105,10 @@ void StackWindow::setModel(QAbstractItemModel *model)
     //resizeColumnsToContents();
     resizeColumnToContents(0);
     resizeColumnToContents(3);
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustStackColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
 }
 
 void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
diff --git a/src/plugins/debugger/threadswindow.cpp b/src/plugins/debugger/threadswindow.cpp
index 5d70e5a71d419c7448d880a4e8a213849c0c1eda..5d1c1de729e9566c0e258698af6180a103924b98 100644
--- a/src/plugins/debugger/threadswindow.cpp
+++ b/src/plugins/debugger/threadswindow.cpp
@@ -82,6 +82,10 @@ void ThreadsWindow::setModel(QAbstractItemModel *model)
     resizeColumnToContents(0); // Id
     resizeColumnToContents(4); // Line
     resizeColumnToContents(6); // Name
+    if (header()) {
+        bool adjust = debuggerCore()->boolSetting(AlwaysAdjustThreadsColumnWidths);
+        setAlwaysResizeColumnsToContents(adjust);
+    }
 }
 
 void ThreadsWindow::contextMenuEvent(QContextMenuEvent *ev)