diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
index 137a7ae..b162141 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/websession/file/FileBasedWebsessionCache.java
@@ -79,9 +79,11 @@
   public void cleanUp() {
     for (Path path : listFiles()) {
       Val val = readFile(path);
-      DateTime expires = new DateTime(val.getExpiresAt());
-      if (expires.isBefore(new DateTime())) {
-        deleteFile(path);
+      if (val != null) {
+        DateTime expires = new DateTime(val.getExpiresAt());
+        if (expires.isBefore(new DateTime())) {
+          deleteFile(path);
+        }
       }
     }
   }
@@ -179,7 +181,7 @@
   }
 
   private Val readFile(Path path) {
-    if (Files.exists(path)) {
+    if (path.toFile().exists()) {
       try (InputStream fileStream = Files.newInputStream(path);
           ObjectInputStream objStream = new ObjectInputStream(fileStream)) {
         return (Val) objStream.readObject();
