diff --git a/bindings/java/src/org/sleuthkit/datamodel/CommunicationsFilter.java b/bindings/java/src/org/sleuthkit/datamodel/CommunicationsFilter.java
index c4ed6d764f13c03a768f35800073d70955d1f0e8..fc8c09e06bfccea6f3be15090ef79f93191f86a0 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/CommunicationsFilter.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/CommunicationsFilter.java
@@ -359,7 +359,7 @@ public String getDescription() {
 		@Override
 		String getSQL(CommunicationsManager commsManager) {
 			if(limit > 0) {
-				return "ORDER BY relationships.date_time LIMIT " + limit;
+				return "ORDER BY relationships.date_time DESC LIMIT " + limit;
 			} else {
 				return "";
 			}
diff --git a/bindings/java/src/org/sleuthkit/datamodel/blackboardutils/CommunicationArtifactsHelper.java b/bindings/java/src/org/sleuthkit/datamodel/blackboardutils/CommunicationArtifactsHelper.java
index e63275e0a348f3498c052f4cbeab0f204c387db1..f6db50b6dd347037e3374dba6683da3d20358843 100644
--- a/bindings/java/src/org/sleuthkit/datamodel/blackboardutils/CommunicationArtifactsHelper.java
+++ b/bindings/java/src/org/sleuthkit/datamodel/blackboardutils/CommunicationArtifactsHelper.java
@@ -18,7 +18,6 @@
  */
 package org.sleuthkit.datamodel.blackboardutils;
 
-import com.google.gson.Gson;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -40,6 +39,7 @@
 import org.sleuthkit.datamodel.SleuthkitCase;
 import org.sleuthkit.datamodel.TskCoreException;
 import org.sleuthkit.datamodel.TskDataException;
+import org.sleuthkit.datamodel.blackboardutils.attributes.BlackboardJsonAttrUtil;
 import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments;
 import org.sleuthkit.datamodel.blackboardutils.attributes.MessageAttachments.FileAttachment;
 
@@ -122,6 +122,9 @@ public String getDisplayName() {
 			return typeStr;
 		}
 	}
+	
+	private static final BlackboardAttribute.Type ATTACHMENTS_ATTR_TYPE = new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS);
+
 
 	// 'self' account for the application being processed by the module. 
 	private final Account.Type selfAccountType;
@@ -822,6 +825,7 @@ public BlackboardArtifact addCalllog(CommunicationDirection direction,
 		// return the artifact
 		return callLogArtifact;
 	}
+	
 
 	/**
 	 * Adds attachments to a message.
@@ -832,13 +836,9 @@ public BlackboardArtifact addCalllog(CommunicationDirection direction,
 	 * @throws TskCoreException If there is an error in adding attachments
 	 */
 	public void addAttachments(BlackboardArtifact message, MessageAttachments attachments) throws TskCoreException {
-
-		// Convert the MessageAttachments object to JSON string
-		Gson gson = new Gson();
-		String attachmentsJson = gson.toJson(attachments);
-
 		// Create attribute 
-		message.addAttribute(new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ATTACHMENTS, getModuleName(), attachmentsJson));
+		BlackboardAttribute blackboardAttribute = BlackboardJsonAttrUtil.toAttribute(ATTACHMENTS_ATTR_TYPE, getModuleName(), attachments);
+		message.addAttribute(blackboardAttribute);
 
 		// Associate each attachment file with the message.
 		Collection<FileAttachment> fileAttachments = attachments.getFileAttachments();