             enableProgressiveButton(true)
             assertionFailure("Expected article, datastore or article url not found")
             return
+        }
+
+        guard
+            let descriptionToSave = descriptionTextView.normalizedWhitespaceText(),
+            descriptionToSave.count > 0
+            else {
+                descriptionTextView.text = nil
+                // manually call `textViewDidChange` since it's not called when UITextView text is changed programmatically
+                textViewDidChange(descriptionTextView)
+                return
         }
         
         dataStore.wikidataDescriptionEditingController.publish(newWikidataDescription: descriptionToSave, from: article.descriptionSource, for: articleURL) {error in

    }
    
    public func textViewDidChange(_ textView: UITextView) {
        guard let description = descriptionTextView.text else{
            enableProgressiveButton(false)
            return
        }
        enableProgressiveButton(description.count > 0)
        updateWarningLabelsForDescriptionCount()
    }
    
    func apply(theme: Theme) {

        wmf_hideKeyboard()
        
        guard
            let article = article,
            let dataStore = article.dataStore,
            let articleURL = article.url
