How to reproduce: 1. Run the attached project 2. Float a tool window 3. Save layout 4. Close the application and start it again 5. Load the saved layout 6. Hide the floating tool window 7. Save layout 8. Close the application and start it again 9. Load layout Notice that the hidden tool window would be floating Workaround: Manually store the hidden tool windows and restore their state after your load the layout: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void radButton1_Click(object sender, EventArgs e) { this.radDock1.SaveToXml(@"..\..\layout.xml"); StringBuilder sb = new StringBuilder(); foreach (DockWindow window in this.radDock1.DockWindows.GetWindows(DockState.Hidden)) { if (window is ToolWindow) { sb.Append(window.Name); sb.Append(";"); } } File.WriteAllText(@"..\..\hidden.txt", sb.ToString()); } private void radButton2_Click(object sender, EventArgs e) { this.radDock1.LoadFromXml(@"..\..\layout.xml"); string[] windows = File.ReadAllText(@"..\..\hidden.txt").Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (var window in windows) { this.radDock1.GetWindow<ToolWindow>(window).Hide(); } } }