diff --git a/scripts/check-viewer-xml b/scripts/check-viewer-xml
index 27c11124922738cce9d56b8319274757e69c596c..85366c02ae4df4813ae0cc002816702910ada602 100755
--- a/scripts/check-viewer-xml
+++ b/scripts/check-viewer-xml
@@ -68,11 +68,13 @@ elif sys.platform == 'linux2':
     CheckDirs = [ os.path.expanduser('~/.secondlife'),
                   ]
 elif sys.platform == 'win32' or sys.platform == 'cygwin':  
-    CheckDirs = [ os.path.expanduser('~\\Local Settings\\Temp'),
-                  os.path.expanduser('~\\Application\\Data\\Secondlife'),
-                  os.path.expanduser('~\\AppData\\Roaming\\Secondlife'),
-                  os.path.expanduser('~\\AppData\\Local\\Secondlife'),
-                  ]
+    if os.path.isdir(os.path.expanduser('~\\AppData\\Roaming')):
+        CheckDirs = [ os.path.expanduser('~\\Application\\Data\\Secondlife'),
+                      os.path.expanduser('~\\AppData\\Roaming\\Secondlife'),
+                      os.path.expanduser('~\\AppData\\Local\\Secondlife'),
+                      ]
+    else:
+        sys.exit("No AppData\\Roaming directory found;\nThis script must be run in a native Windows command shell.\nRunning under cygwin does not work.")
 else:
     sys.exit("unrecognized platform '%s'" % sys.platform)