JRE-604 [followup]
diff --git a/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java b/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
index 2ddbe50..5dd1bcc 100644
--- a/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
+++ b/test/java/awt/hidpi/ClientAreaOriginWindowsTest.java
@@ -66,9 +66,14 @@
         EventQueue.invokeLater(() -> show());
 
         timer = new Timer(100, (event) -> {
-            Insets in = frame.getInsets();
-            Point loc = frame.getLocation();
-            Rectangle rect = new Rectangle(loc.x, loc.y, in.left + 5, in.top + 5);
+            Point loc;
+            try {
+                loc = frame.getContentPane().getLocationOnScreen();
+            } catch (IllegalComponentStateException e) {
+                latch.countDown();
+                return;
+            }
+            Rectangle rect = new Rectangle(loc.x - 1, loc.y - 1, 6, 6);
             Robot robot;
             try {
                 robot = new Robot();
@@ -161,6 +166,18 @@
             }
         };
 
+        // Backs the main frame with black color.
+        JFrame bgFrame = new JFrame("bg_frame");
+        bgFrame.setUndecorated(true);
+        bgFrame.setSize(F_WIDTH * 2, F_HEIGHT * 2);
+        bgFrame.setLocationRelativeTo(null);
+        bgFrame.setAlwaysOnTop(true);
+        JPanel cp = new JPanel();
+        cp.setOpaque(true);
+        cp.setBackground(Color.black);
+        bgFrame.setContentPane(cp);
+        bgFrame.setVisible(true);
+
         frame.add(panel);
         frame.pack();
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);