diff --git a/find_java/src/source/find_java_exe.cpp b/find_java/src/source/find_java_exe.cpp
index 50ca024..a8be377 100644
--- a/find_java/src/source/find_java_exe.cpp
+++ b/find_java/src/source/find_java_exe.cpp
@@ -63,9 +63,9 @@
 
 static void printError(const char *message) {
 
-    CString error;
-    error.setLastWin32Error(message);
-    printf(error.cstr());
+    CString error;
+    error.setLastWin32Error(message);
+    printf(error.cstr());
 }
 
 static void testFindJava(bool isJdk, int minVersion) {
@@ -182,9 +182,9 @@
     }
 
     if (version == 0) {
-        CString s;
-        s.setf("Failed to find Java %d.%d (or newer) on your system. ", JAVA_MAJOR(minVersion),
-            JAVA_MINOR(minVersion));
+        CString s;
+        s.setf("Failed to find Java %d.%d (or newer) on your system. ", JAVA_MAJOR(minVersion),
+            JAVA_MINOR(minVersion));
 
         if (gIsDebug) {
             fprintf(stderr, s.cstr());
@@ -200,8 +200,8 @@
 
     if (doShortPath) {
         if (!javaPath.toShortPath(&javaPath)) {
-            CString s;
-            s.setf("Failed to convert path (%s) to a short DOS path. ", javaPath.cstr());
+            CString s;
+            s.setf("Failed to convert path (%s) to a short DOS path. ", javaPath.cstr());
             fprintf(stderr, s.cstr());
 
             if (shouldPrintError) {
