diff --git a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
index e3b1d8441454508cf31402007e7b5774d465112c..bae27ec8948474900302e0a5f81572dcb378d67a 100644
--- a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
+++ b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
@@ -89,7 +89,7 @@ public class LeverscIJ implements PlugInFilter
         Metadata meta = load_metadata();
         if ( !init_leversc(fignum) )
         {
-            Path logpath = Paths.get(System.getProperty("user.home"),".lever");
+            Path logpath = Paths.get(PlatformInfo.getUserHome(),".lever");
 
             IJ.log("Unable to initialize leversc!");
             IJ.log(String.format("Check leversc log files for details at: %s", logpath.toString()));
diff --git a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscLaunch.java b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscLaunch.java
index 393bbd87719dbd0dab5dc3810fc0d36a50e6b9cc..9fcdc3534ded1807e825e1a2ec479257565d1747 100644
--- a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscLaunch.java
+++ b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscLaunch.java
@@ -72,7 +72,7 @@ public class LeverscLaunch
     public static boolean launch(File localLeverscExec, int fignum, int base_port)
     {
         // Always put .lever files in ~/.lever folder
-        Path cwd_lever = Paths.get(System.getProperty("user.home"),".lever");
+        Path cwd_lever = Paths.get(PlatformInfo.getUserHome(),".lever");
 
         // Make sure ~/.lever folder exists
         try
@@ -156,8 +156,8 @@ public class LeverscLaunch
             p = Runtime.getRuntime().exec(strArgs);
             if ( p!= null )
             {
-                File stdoutLog = Paths.get(System.getProperty("user.home"),".lever", "leversc_out.log").toFile();
-                File stderrLog = Paths.get(System.getProperty("user.home"),".lever", "leversc_err.log").toFile();
+                File stdoutLog = Paths.get(PlatformInfo.getUserHome(),".lever", "leversc_out.log").toFile();
+                File stderrLog = Paths.get(PlatformInfo.getUserHome(),".lever", "leversc_err.log").toFile();
 
                 LogThread stdoutLogger = new LogThread(p.getInputStream(), stdoutLog);
                 LogThread stderrLogger = new LogThread(p.getErrorStream(), stderrLog);
diff --git a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/PlatformInfo.java b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/PlatformInfo.java
index 4db00896f0ff3193c4021585e669caa7b2e3880b..e5a4b7b50f4dae80427283f87ca9844f180eb693 100644
--- a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/PlatformInfo.java
+++ b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/PlatformInfo.java
@@ -20,6 +20,11 @@ public class PlatformInfo
         return "unknown";
     }
 
+    public static String getUserHome()
+    {
+        return System.getProperty("user.home");
+    }
+
     public static String getAppDataPath()
     {
 
@@ -29,15 +34,15 @@ public class PlatformInfo
         {
             String xdg_home = System.getenv("XDG_DATA_HOME");
             if ( xdg_home == null )
-                xdg_home = Paths.get(System.getProperty("user.home"), ".local", "share").toString();
+                xdg_home = Paths.get(getUserHome(), ".local", "share").toString();
             return xdg_home;
         }
         else if ( isMac() )
         {
-            return Paths.get(System.getProperty("user.home"), "Applications").toString();
+            return Paths.get(getUserHome(), "Applications").toString();
         }
         else
-            return System.getProperty("user.home");
+            return getUserHome();
     }
 
     public static boolean isWindows()