diff --git a/bindings/java/jni/auto_db_java.cpp b/bindings/java/jni/auto_db_java.cpp
index a20fd04b4a53c1d9938093babd2ad1e0be6b928a..113538eda5f4d62844bb7be422658c79721fc16f 100644
--- a/bindings/java/jni/auto_db_java.cpp
+++ b/bindings/java/jni/auto_db_java.cpp
@@ -84,6 +84,11 @@ TskAutoDbJava::initializeJni(JNIEnv * jniEnv, jobject jobj) {
         return TSK_ERR;
     }
 
+    m_addAcquisitionDetailsMethodID = m_jniEnv->GetMethodID(m_callbackClass, "addAcquisitionDetails", "(JLjava/lang/String;)V");
+    if (m_addAcquisitionDetailsMethodID == NULL) {
+        return TSK_ERR;
+    }
+
     m_addVolumeSystemMethodID = m_jniEnv->GetMethodID(m_callbackClass, "addVsInfo", "(JIJJ)J");
     if (m_addVolumeSystemMethodID == NULL) {
         return TSK_ERR;
@@ -222,6 +227,16 @@ TskAutoDbJava::addImageInfo(int type, TSK_OFF_T ssize, int64_t & objId, const st
     return TSK_OK;
 }
 
+void
+TskAutoDbJava::addAcquisitionDetails(int64_t imgId, const string& collectionDetails) {
+
+    const char *coll_cstr = collectionDetails.c_str();
+    jstring collj = m_jniEnv->NewStringUTF(coll_cstr);
+
+    m_jniEnv->CallLongMethod(m_javaDbObj, m_addAcquisitionDetailsMethodID,
+        imgId, collj);
+}
+
 /**
 * Adds volume system to database. Object ID for new vs stored in objId.
 *
@@ -1029,11 +1044,6 @@ TskAutoDbJava::openImage(const char* a_deviceId)
 uint8_t
 TskAutoDbJava::addImageDetails(const char* deviceId)
 {
-    // The image has already been added to the database
-    if (m_curImgId > 0) {
-        return 0;
-    }
-
    string md5 = "";
    string sha1 = "";
    string collectionDetails = "";
@@ -1052,6 +1062,12 @@ TskAutoDbJava::addImageDetails(const char* deviceId)
    }
 #endif
 
+    // If the image has already been added to the database, update the acquisition details and return.
+    if (m_curImgId > 0) {
+        addAcquisitionDetails(m_curImgId, collectionDetails);
+        return 0;
+    }
+
     string devId;
     if (NULL != deviceId) {
         devId = deviceId; 
diff --git a/bindings/java/jni/auto_db_java.h b/bindings/java/jni/auto_db_java.h
index 26e370d093b7229cad868d813969be22324930a5..52561c366ed0a8e19972f2999d5a4938240777f7 100644
--- a/bindings/java/jni/auto_db_java.h
+++ b/bindings/java/jni/auto_db_java.h
@@ -150,6 +150,7 @@ class TskAutoDbJava :public TskAuto {
     jobject m_javaDbObj = NULL;
     jmethodID m_addImageMethodID = NULL;
     jmethodID m_addImageNameMethodID = NULL;
+    jmethodID m_addAcquisitionDetailsMethodID = NULL;
     jmethodID m_addVolumeSystemMethodID = NULL;
     jmethodID m_addVolumeMethodID = NULL;
     jmethodID m_addPoolMethodID = NULL;
@@ -208,7 +209,7 @@ class TskAutoDbJava :public TskAuto {
     // JNI methods
     TSK_RETVAL_ENUM addImageInfo(int type, TSK_OFF_T ssize, int64_t & objId, const string & timezone, TSK_OFF_T size, const string &md5,
         const string& sha1, const string& sha256, const string& deviceId, const string& collectionDetails, char** img_ptrs, int num_imgs);
-    TSK_RETVAL_ENUM addImageName(int64_t objId, char const* imgName, int sequence);
+    void addAcquisitionDetails(int64_t imgId, const string& collectionDetails);
     TSK_RETVAL_ENUM addVsInfo(const TSK_VS_INFO* vs_info, int64_t parObjId, int64_t& objId);
     TSK_RETVAL_ENUM addPoolInfoAndVS(const TSK_POOL_INFO *pool_info, int64_t parObjId, int64_t& objId);
     TSK_RETVAL_ENUM addPoolVolumeInfo(const TSK_POOL_VOLUME_INFO* pool_vol, int64_t parObjId, int64_t& objId);
diff --git a/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java b/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java
index c468c9273cbc7187d35800b012f69245d9a66e38..21680fdd802d2e261f2e81add5221f54fbb9a96c 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/JniDbHelper.java
@@ -141,6 +141,23 @@ long addImageInfo(int type, long ssize, String timezone,
             return -1;
         }
     }
+	
+	/**
+	 * Add the acquisition details to the image object. 
+	 * 
+	 * @param imgId   ID of the image
+	 * @param details The details
+	 */
+	void addAcquisitionDetails(long imgId, String details) {
+        try {
+            beginTransaction();
+            caseDb.setAcquisitionDetails(imgId, details, trans);
+            commitTransaction();
+        } catch (TskCoreException ex) {
+            logger.log(Level.SEVERE, "Error adding image details \"" + details + "\" to image with ID " + imgId, ex);
+            revertTransaction();
+        }		
+	}
     
     /**
      * Add a volume system to the database. 
diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
index cc6b85ba950d1df91ec5e650054ce038624835eb..2f07f18b0d7e11f86d2435b78e016aa99c384c5f 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java
@@ -9357,6 +9357,31 @@ void setAcquisitionDetails(DataSource datasource, String details) throws TskCore
 		}
 	}
 
+	/**
+	 * Set the acquisition details in the data_source_info table.
+	 * 
+	 * @param dataSourceId The data source ID.
+	 * @param details      The acquisition details.
+	 * @param trans        The current transaction.
+	 * 
+	 * @throws TskCoreException 
+	 */
+	void setAcquisitionDetails(long dataSourceId, String details, CaseDbTransaction trans) throws TskCoreException {
+		acquireSingleUserCaseWriteLock();
+		try {
+			CaseDbConnection connection = trans.getConnection();
+			PreparedStatement statement = connection.getPreparedStatement(PREPARED_STATEMENT.UPDATE_ACQUISITION_DETAILS);
+			statement.clearParameters();
+			statement.setString(1, details);
+			statement.setLong(2, dataSourceId);
+			connection.executeUpdate(statement);
+		} catch (SQLException ex) {
+			throw new TskCoreException("Error setting acquisition details", ex);
+		} finally {
+			releaseSingleUserCaseWriteLock();
+		}
+	}
+	
 	/**
 	 * Get the acquisition details from the data_source_info table
 	 *