diff --git a/lib/actions/thread-actions.js b/lib/actions/thread-actions.js
--- a/lib/actions/thread-actions.js
+++ b/lib/actions/thread-actions.js
@@ -166,15 +166,23 @@
         };
       } else if (input.changes.avatar && input.changes.avatar.type === 'ens') {
         changes.avatar = { type: 'ens' };
+      } else if (
+        input.changes.avatar &&
+        input.changes.avatar.type === 'non_keyserver_image'
+      ) {
+        changes.avatar = {
+          type: 'encrypted_image',
+          blobURI: input.changes.avatar.blobURI,
+          thumbHash: input.changes.avatar.thumbHash,
+          encryptionKey: input.changes.avatar.encryptionKey,
+        };
       } else if (
         input.changes.avatar &&
         input.changes.avatar.type === 'remove'
       ) {
         changes.avatar = null;
       }
-      // To support `image` and `encrypted_image` avatars we first, need stop
-      // sending multimedia metadata to keyserver.
-      // ENG-8708
+
       const { threadInfo } = input;
       const op: DMChangeThreadSettingsOperation = {
         type: 'change_thread_settings',