         LovesService().lovePost(postId: post.id)
             .thenFinally { love in
                 postNotification(JSONAbleChangedNotification, value: (love, .create))
-                cell?.toggleLoveState(loved: true)
-                cell?.toggleLoveControl(enabled: true)
             }
             .catch { error in
-                cell?.toggleLoveControl(enabled: true)
                 let message = (error as NSError).elloErrorMessage ?? error.localizedDescription
                 print("failed to love post \(post.id), error: \(message)")
+            }
+            .always { _ in
+                cell?.toggleLoveControl(enabled: true)
             }
     }
 

                        )
                    postNotification(JSONAbleChangedNotification, value: (love, .delete))
                }
                cell?.toggleLoveState(loved: false)
                cell?.toggleLoveControl(enabled: true)
            }
            .catch { error in
                cell?.toggleLoveControl(enabled: true)
                let message = (error as NSError).elloErrorMessage ?? error.localizedDescription
                print("failed to unlove post \(post.id), error: \(message)")
            }
    }


            return
        }

        cell?.toggleLoveState(loved: !post.isLoved)
        cell?.toggleLoveControl(enabled: false)

        if post.isLoved { unlovePost(post, cell: cell) }
