diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FileSetsDefinitions.java b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FileSetsDefinitions.java
index 46c575117a70c67009b4b3aea4dd2d81bf2889ff..bca8a2d750cfe756cbe361487203b21199775c44 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FileSetsDefinitions.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/FileSetsDefinitions.java
@@ -60,7 +60,9 @@ Map<String, FilesSet> getFilesSets() {
      * @returns True if the definitions are written to disk, false otherwise.
      */
     static boolean writeDefinitionsFile(String basePath, String fileName, Map<String, FilesSet> interestingFilesSets) throws FilesSetsManager.FilesSetsManagerException {
-        try (final NbObjectOutputStream out = new NbObjectOutputStream(new FileOutputStream(Paths.get(basePath, fileName).toString()))) {
+        File outputPath = Paths.get(basePath, fileName).toFile();
+        outputPath.mkdirs();
+        try (final NbObjectOutputStream out = new NbObjectOutputStream(new FileOutputStream(outputPath))) {
             out.writeObject(new FileSetsDefinitions(interestingFilesSets));
         } catch (IOException ex) {
             throw new FilesSetsManager.FilesSetsManagerException(String.format("Failed to write settings to %s", fileName), ex);