diff --git a/Core/Notification/Screenshot/FormNotificationScreenshotable.cs b/Core/Notification/Screenshot/FormNotificationScreenshotable.cs
index 802ca412..03968951 100644
--- a/Core/Notification/Screenshot/FormNotificationScreenshotable.cs
+++ b/Core/Notification/Screenshot/FormNotificationScreenshotable.cs
@@ -68,6 +68,10 @@ public bool TakeScreenshot(bool ignoreHeightError = false){
                     return false;
                 }
             }
+
+            if (!WindowsUtils.IsAeroEnabled){
+                MoveToVisibleLocation(); // TODO make this look nicer I guess
+            }
             
             IntPtr context = NativeMethods.GetDC(this.Handle);
 
diff --git a/Core/Utils/NativeMethods.cs b/Core/Utils/NativeMethods.cs
index 5f1c6368..0b3b3500 100644
--- a/Core/Utils/NativeMethods.cs
+++ b/Core/Utils/NativeMethods.cs
@@ -71,6 +71,9 @@ private struct MSLLHOOKSTRUCT{
         [return: MarshalAs(UnmanagedType.Bool)]
         private static extern bool BitBlt(IntPtr hdc, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);
         
+        [DllImport("dwmapi.dll")]
+        public static extern int DwmIsCompositionEnabled(out bool enabled);
+        
         [DllImport("user32.dll")]
         [return: MarshalAs(UnmanagedType.Bool)]
         public static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);
diff --git a/Core/Utils/WindowsUtils.cs b/Core/Utils/WindowsUtils.cs
index 87035959..80dd9213 100644
--- a/Core/Utils/WindowsUtils.cs
+++ b/Core/Utils/WindowsUtils.cs
@@ -15,10 +15,12 @@ static class WindowsUtils{
         private static readonly Lazy<Regex> RegexStripHtmlStyles = new Lazy<Regex>(() => new Regex(@"\s?(?:style|class)="".*?"""), false);
         private static readonly Lazy<Regex> RegexOffsetClipboardHtml = new Lazy<Regex>(() => new Regex(@"(?<=EndHTML:|EndFragment:)(\d+)"), false);
 
+        private static readonly bool IsWindows8OrNewer;
+        private static bool HasMicrosoftBeenBroughtTo2008Yet;
+
         public static int CurrentProcessID { get; }
         public static bool ShouldAvoidToolWindow { get; }
-        
-        private static bool HasMicrosoftBeenBroughtTo2008Yet;
+        public static bool IsAeroEnabled => IsWindows8OrNewer || (NativeMethods.DwmIsCompositionEnabled(out bool isCompositionEnabled) == 0 && isCompositionEnabled);
 
         static WindowsUtils(){
             using(Process me = Process.GetCurrentProcess()){
@@ -26,7 +28,9 @@ static WindowsUtils(){
             }
 
             Version ver = Environment.OSVersion.Version;
-            ShouldAvoidToolWindow = ver.Major == 6 && ver.Minor == 2; // windows 8/10
+            IsWindows8OrNewer = ver.Major == 6 && ver.Minor == 2; // windows 8/10
+
+            ShouldAvoidToolWindow = IsWindows8OrNewer;
         }
         
         public static void EnsureTLS12(){