Second Monitor on Windows 10 Resets After Sleep
Are your application windows resetting to the primary monitor after waking your monitors from sleep on your Windows 10 PC? At least you know that you are not alone with this annoying issue.
The issue is that Windows is trying to “help you” by automatically detecting which monitors are on and available. Because the response time differs, for one reason or another, on your monitors Windows moves your open application windows to the available monitor. They are basically trying to ensure that you don’t end up with a blank screen with all your open windows on a turned off monitor.
In this article I will cover a few possible solutions that you can try to help resolve this from occurring so you won’t have to reorder your windows after waking your monitors up from sleep.
How to Disable Monitor Auto Detection
In both Windows 7 and Windows 10, there is a way to disable the monitor auto detection feature by changing the registry. Specifically, the Transient Multimon Manager (TMM).
TMM is only supported on mobile computers, not desktops. Skip to the other solutions section of this post. Updating the registry on a desktop PC as suggested below will do nothing because TMM does not run on desktop PCs. See reference. (provided by Tom K., thank you Tom!)
For this fix, we’ll need to update the Windows Registry (be sure to backup first). Click on “Start” then type “regedit” and press the enter key on your keyboard. Within the Registry, copy and paste the follow path into the address bar at the top of the Registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
We should now be on the “Microsoft” folder. Expand this folder and look for a sub-folder named “TMM“.
- If the TMM folder exists, double click on it and look for an entry labeled “UseIViewHelper“. Set value to 0.
- If UseIViewHelper does not exist, right click on the TMM folder and create a new DWORD (32-bit Value) with the name “UseIViewHelper“. Set the Value data to 0 with a Hexadecimal base.
- If the TMM folder does not exist under the Microsoft folder we need to create it. To create this folder/key go to the parent “Microsoft” folder and right click on it. From the context menu select “New” then “Key” and insert “TMM” without the quotes.
- Right click on the newly created TMM sub-folder and create a new DWORD (32-bit Value) with the name “UseIViewHelper“. Set its value to 0 with a Hexadecimal base.
How to Enable Monitor Auto Detection
Did you change your mind or have other, more annoying, issues popup after disabling Monitor Auto Detection above? To re-enable the Windows 10 Automatic Monitor Detection feature, or Transient Multimon Manager (TMM), one would simply need to go back to the TMM folder mentioned above and set the value of “UseIViewHelper” to 1 with a Hexadecimal base.
Other Solutions
- The issue might simply be related to one of the physical video cables you are using to connect your monitors. Try using new cables or switching the connection type (for example DVI to HDMI).
- Some users have reported that they resolved this issue by removing a left over display driver. You can try this by accessing the Windows “Device Manager” app. Click “View” from the top menu and select “Show hidden devices“. From there you can remove any Monitors that are grayed out. BE CAREFUL! If you are not sure what you’re doing better have a system restore point and backup created.
- Visitor Provided Solution: (brought my attention by a visitor named Jed) would be to install a small program, called PersistentWindows by Kangyu-california, which will recall your window positions and sizes when your monitor connection is restored from sleep. Installation and use instructions available from the GitHub application page. This solution was contributed by a visitor named Jed. Many thanks!
End of File
I hope this article has helped you resolve the issue of your open application windows resetting after your monitors resume from sleep. I welcome your thoughts, questions or suggestions regarding this article.
You may support my work and future improvements by sending me a tip using your Brave browser or by sending me a one time donation using your credit card.
Let me know if you found any errors within my article or if I may further assist you by answering any additional questions you may have.
Editor Notes:
- This article was first published on December 11th, 2018 and was revised on February 24th, 2020 to include how to re-enable monitor auto detection.
- Revised on June 10th, 2020 to include information provided by Tom K. that TMM was only available on mobile computers and not desktop PCs. Thank you Tom!
- Revised on July 2nd, 2020 to include another potential solution to this issue provided by Jed. Thanks!
Your article is incorrect. TMM is only supported on mobile computers, not desktops. Adding a registry key on a desktop PC does nothing because TMM does not run on desktop PCs. https://docs.microsoft.com/en-us/windows-hardware/drivers/display/determining-whether-a-platform-is-mobile-or-desktop
Thank you for that information Tom! I have updated the article accordingly.
Thanks for this wonderful article. I was about to return my monitor saying its crap.
Glad you found it helpful!
I finally found a fix via a small program on GitHub – Persistent Windows! Hope this helps someone else with this problem! https://github.com/kangyu-california/PersistentWindows
Thank you for that information Jed. I have revised the article to include that link. Thank you!
Thank you very much for this article. I have a weird temporary setup, where I have 2 displays connected with 3 cables, with one being connected to one display, which is then cloned on to itself. For some reason it fixes a horrible screen tearing issue, but it introduced the problem that on waking up, one of the displays took longer to detect, so all open programs were moved to one that was detected later. Switching the cables solved it for me.
Happy to hear and thank you for sharing the fact that switching put the monitor cables worked to resolve your display reset issues on your particular setup.
Extra tip. If you have a UPS. It seems this is enough to make Windows think your desktop is a laptop. TMM option appears for me and seems to work also! It doesn’t seem to stop my Windows from repositioning, but it does stop flickering on new monitor detection so it doesn’t have a fit every time my receiver connects. Together with PersistentWindows, it does what I need.
Thanks for the additional tip Leo! Hope it helps others.
My issue was resolved by removing the inactive/leftover display driver (#2 on “Other Solutions” section). Thank you for the article.
Thank you for sharing with us which option worked for you Kapten. Happy to have helped!
I tried deleting drivers which worked for me only until the first hibernate/off. I did not have enough faith in the TMM way so did not try it, but PersistentWindows seems to work so far so thanks to Jed as well for sharing that.
Thanks for sharing that the PersistentWindows program worked for you Marcell.
This seems to have cured my problem! Don’t forget that many modern ‘small form factor’ PC’s now very common in business settings, such as my own Fujitsu Q, *are actually based upon laptop / ‘mobile’ chipsets* which is probably why it worked for me on a desktop.
Thank you for sharing Everest. Happy to hear that your issues has been resolved.
For me, the solution to windows on multiple monitors resetting after sleep was to switch the monitor numbers. In Windows, each monitor is assigned a number (e.g. “1” or “2”). When the monitor with lower resolution was #1, windows changed after sleep. But changing the cables on the two monitors, that monitor became #2, and everything worked properly. There seems to be no way in Windows to change the monitor number (just the primary or position).
Thank you kindly for sharing your potential solution Scott.
The issue is that the two different monitors are on such different refresh rate Hz, in my example i have a 32″ on 144hz an older 20″ on 60Hz…. when i change the 32″ on 144hx to 60hz.. Problem solved!
Happy to hear you were able to resolve the issue by simply adjusting the refresh rate on your monitors. Perhaps this will help someone, my monitors where of identical make & model. Again, thanks for sharing!