diff --git a/bindings/java/src/org/sleuthkit/datamodel/AbstractFile.java b/bindings/java/src/org/sleuthkit/datamodel/AbstractFile.java
index a042b5b25adabbc1163a960963a62080134043a4..1d800566cd845266927dc636e01efd5cee7911f3 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/AbstractFile.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/AbstractFile.java
@@ -1101,6 +1101,7 @@ public void save() throws TskCoreException {
 		SleuthkitCase.CaseDbConnection connection = getSleuthkitCase().getConnection();
 		Statement statement = null;
 
+		getSleuthkitCase().acquireSingleUserCaseWriteLock();
 		try {
 			statement = connection.createStatement();
 			connection.executeUpdate(statement, queryStr);
@@ -1113,6 +1114,7 @@ public void save() throws TskCoreException {
 		} finally {
 			closeStatement(statement);
 			connection.close();
+			getSleuthkitCase().releaseSingleUserCaseWriteLock();
 		}
 	}