diff --git a/indexedDb/implementation.go b/indexedDb/implementation.go
index 0d536811cc3677f12f23090296ceb6427bda17a1..b97037cd05e8e0d57890559109c79775d5f2e2ea 100644
--- a/indexedDb/implementation.go
+++ b/indexedDb/implementation.go
@@ -382,16 +382,21 @@ func (w *wasmModel) receiveHelper(newMessage *Message) (uint64,
 	err = txn.Await(ctx)
 	cancel()
 	if err != nil {
-		err = errors.Errorf("Upserting Message failed: %+v", err)
+		return 0, errors.Errorf("Upserting Message failed: %+v", err)
+	}
+	res, err := addReq.Result()
+	// NOTE: Sometimes the insert fails to return an error but hits
+	// a duplicate insert, so this fallthrough returns the uuid entry in
+	// that case.
+	if res.IsUndefined() {
 		msgID := cryptoChannel.MessageID{}
 		copy(msgID[:], newMessage.MessageID)
-		uuid, _ := w.msgIDLookup(msgID)
-		if uuid == 0 {
+		uuid, errLookup := w.msgIDLookup(msgID)
+		if uuid != 0 && errLookup == nil {
 			return uuid, nil
 		}
-		return 0, err
+		return 0, errors.Errorf("uuid lookup failure: %+v", err)
 	}
-	res, _ := addReq.Result()
 	uuid := uint64(res.Int())
 	jww.DEBUG.Printf(
 		"Successfully stored message from %s, id %d",