Corrected method of creating registry keys, both to fix an issue where
they were not created and to act more like Windows.

diff --git a/dlls/uxtheme/system.c b/dlls/uxtheme/system.c
index 531c1f8..fe502a4 100644
--- a/dlls/uxtheme/system.c
+++ b/dlls/uxtheme/system.c
@@ -161,7 +161,6 @@
         szCurrentTheme[0] = '\0';
         szCurrentColor[0] = '\0';
         szCurrentSize[0] = '\0';
-        return MSSTYLES_SetActiveTheme(NULL);
     }
 
     TRACE("Writing theme config to registry\n");
@@ -169,9 +168,17 @@
         tmp[0] = bThemeActive?'1':'0';
         tmp[1] = '\0';
         RegSetValueExW(hKey, szThemeActive, 0, REG_SZ, (const BYTE*)tmp, sizeof(WCHAR)*2);
-        RegSetValueExW(hKey, szColorName, 0, REG_SZ, (const BYTE*)szCurrentColor, lstrlenW(szCurrentColor)+1);
-        RegSetValueExW(hKey, szSizeName, 0, REG_SZ, (const BYTE*)szCurrentSize, lstrlenW(szCurrentSize)+1);
-        RegSetValueExW(hKey, szDllName, 0, REG_SZ, (const BYTE*)szCurrentTheme, lstrlenW(szCurrentTheme)+1);
+        if(bThemeActive) {
+            RegSetValueExW(hKey, szColorName, 0, REG_SZ, (const BYTE*)szCurrentColor, lstrlenW(szCurrentColor)+1);
+            RegSetValueExW(hKey, szSizeName, 0, REG_SZ, (const BYTE*)szCurrentSize, lstrlenW(szCurrentSize)+1);
+            RegSetValueExW(hKey, szDllName, 0, REG_SZ, (const BYTE*)szCurrentTheme, lstrlenW(szCurrentTheme)+1);
+        }
+        else {
+            RegDeleteValueW(hKey, szColorName);
+            RegDeleteValueW(hKey, szSizeName);
+            RegDeleteValueW(hKey, szDllName);
+
+        }
         RegCloseKey(hKey);
     }
     else