             } catch let error {
                 DDLogError("Error updating article: \(error)")
             }
-
-            let article = dataStore.article(with: articleURL)
             
-            self.converter.convertMobileviewSavedDataToMobileHTML(article: article) { (result, error) in
-
+            let mwkArticle = dataStore.article(with: articleURL)
+
+            self.converter.convertMobileviewSavedDataToMobileHTML(article: mwkArticle) { (result, error) in
+                
+                let blastMobileviewSavedDataFolder = {
+                    // Remove old mobileview saved data folder for this article
+                    do {
+                        try FileManager.default.removeItem(atPath: dataStore.path(forArticleURL: articleURL))
+                    } catch {
+                        DDLogError("Could not remove mobileview folder for articleURL: \(articleURL)")
+                    }
+                }
+                
                 let handleConversionFailure = {
-                    // TODO: no need to keep mobileview section html if conversion failed, so ok to remove section data
-                    // because we're setting `isDownloaded` next so saved article fetching will re-download from new
-                    // mobilehtml endpoint
-                    //
-                    // article.sections?.entries.removeAll()
-
-                    
-                    // TODO: if conversion failed above for any reason set "article.isDownloaded" to false so normal fetching logic picks it up
-                    //
-                    // article.isDownloaded = false
+                    // No need to keep mobileview section html if conversion failed, so ok to remove section data
+                    // because we're setting `isDownloaded` next so saved article fetching will re-download from
+                    // new mobilehtml endpoint.
+                    blastMobileviewSavedDataFolder()
+
+                    // If conversion failed above for any reason set "article.isDownloaded" to false so normal fetching logic picks it up
+                    do {
+                        article.isDownloaded = false
+                        try dataStore.save()
+                    } catch let error {
+                        DDLogError("Error updating article: \(error)")
+                    }
                 }
                 
                 guard error == nil, let result = result else {

    }()
    
    override func didReceiveMemoryWarning() {

        guard
            let dataStore = SessionSingleton.sharedInstance()?.dataStore,
            let articleCacheController = dataStore.articleCacheControllerWrapper.cacheController as? ArticleCacheController
        else {
            return
        }

        dataStore.savedPageList.enumerateItems { (article, stop) in
            guard let articleURL = article.url else {
                assertionFailure("Could not get article url")
                return

                // If conversion was previously attempted don't try again.
                return
            }
            
            do {
                // Since conversion isn't instantaneous set the `mobileviewConversionAttempted` flag before invoking
                // the converter (vs only setting it in the converter's completion block)
