diff --git a/indexedDb/channels/implementation.go b/indexedDb/channels/implementation.go
index cf64d77f6dc3a492990110061e5d76b0ac8e4cf4..6bb3916f1e63de93f894532427e18efde93fb9ed 100644
--- a/indexedDb/channels/implementation.go
+++ b/indexedDb/channels/implementation.go
@@ -377,18 +377,14 @@ func (w *wasmModel) receiveHelper(newMessage *Message, isUpdate bool) (uint64,
 	}
 
 	// Store message to database
-	addReq, err := indexedDb.Put(w.db, messageStoreName, messageObj)
+	result, err := indexedDb.Put(w.db, messageStoreName, messageObj)
 	if err != nil {
 		return 0, errors.Errorf("Unable to put Message: %+v", err)
 	}
-	res, err := addReq.Result()
-	if err != nil {
-		return 0, errors.Errorf("Unable to get Message result: %+v", err)
-	}
 
 	// 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() {
+	if result.IsUndefined() {
 		msgID := message.ID{}
 		copy(msgID[:], newMessage.MessageID)
 		uuid, errLookup := w.msgIDLookup(msgID)
@@ -397,7 +393,7 @@ func (w *wasmModel) receiveHelper(newMessage *Message, isUpdate bool) (uint64,
 		}
 		return 0, errors.Errorf("uuid lookup failure: %+v", err)
 	}
-	uuid := uint64(res.Int())
+	uuid := uint64(result.Int())
 	jww.DEBUG.Printf("Successfully stored message %d", uuid)
 
 	return uuid, nil
diff --git a/indexedDb/dm/implementation.go b/indexedDb/dm/implementation.go
index 6324aecfa8d38e463496e95213b5dba89b9e18ab..0b5e812dc731b6afd1187c58f7c997f4326babfe 100644
--- a/indexedDb/dm/implementation.go
+++ b/indexedDb/dm/implementation.go
@@ -341,18 +341,14 @@ func (w *wasmModel) receiveHelper(newMessage *Message, isUpdate bool) (uint64,
 	}
 
 	// Store message to database
-	addReq, err := indexedDb.Put(w.db, messageStoreName, messageObj)
+	result, err := indexedDb.Put(w.db, messageStoreName, messageObj)
 	if err != nil {
 		return 0, errors.Errorf("Unable to put Message: %+v", err)
 	}
-	res, err := addReq.Result()
-	if err != nil {
-		return 0, errors.Errorf("Unable to get Message result: %+v", err)
-	}
 
 	// 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() {
+	if result.IsUndefined() {
 		msgID := message.ID{}
 		copy(msgID[:], newMessage.MessageID)
 		uuid, errLookup := w.msgIDLookup(msgID)
@@ -361,7 +357,7 @@ func (w *wasmModel) receiveHelper(newMessage *Message, isUpdate bool) (uint64,
 		}
 		return 0, errors.Errorf("uuid lookup failure: %+v", err)
 	}
-	uuid := uint64(res.Int())
+	uuid := uint64(result.Int())
 	jww.DEBUG.Printf("Successfully stored message %d", uuid)
 
 	return uuid, nil
diff --git a/indexedDb/utils.go b/indexedDb/utils.go
index a8e7fd8e528a185cef11f65baa351bc602a9a745..5af14e999a3d7f073ba820a69e842593bd49aab1 100644
--- a/indexedDb/utils.go
+++ b/indexedDb/utils.go
@@ -127,33 +127,33 @@ func GetIndex(db *idb.Database, objectStoreName string,
 
 // Put is a generic helper for putting values into the given [idb.ObjectStore].
 // Equivalent to insert if not exists else update.
-func Put(db *idb.Database, objectStoreName string, value js.Value) (*idb.Request, error) {
+func Put(db *idb.Database, objectStoreName string, value js.Value) (js.Value, error) {
 	// Prepare the Transaction
 	txn, err := db.Transaction(idb.TransactionReadWrite, objectStoreName)
 	if err != nil {
-		return nil, errors.Errorf("Unable to create Transaction: %+v", err)
+		return js.Undefined(), errors.Errorf("Unable to create Transaction: %+v", err)
 	}
 	store, err := txn.ObjectStore(objectStoreName)
 	if err != nil {
-		return nil, errors.Errorf("Unable to get ObjectStore: %+v", err)
+		return js.Undefined(), errors.Errorf("Unable to get ObjectStore: %+v", err)
 	}
 
 	// Perform the operation
 	request, err := store.Put(value)
 	if err != nil {
-		return nil, errors.Errorf("Unable to Put: %+v", err)
+		return js.Undefined(), errors.Errorf("Unable to Put: %+v", err)
 	}
 
 	// Wait for the operation to return
 	ctx, cancel := NewContext()
-	err = txn.Await(ctx)
+	result, err := request.Await(ctx)
 	cancel()
 	if err != nil {
-		return nil, errors.Errorf("Putting value failed: %+v", err)
+		return js.Undefined(), errors.Errorf("Putting value failed: %+v", err)
 	}
 	jww.DEBUG.Printf("Successfully put value in %s: %v",
 		objectStoreName, utils.JsToJson(value))
-	return request, nil
+	return result, nil
 }
 
 // Delete is a generic helper for removing values from the given [idb.ObjectStore].