diff --git a/src/Feeds/Fetcher/HttpFetcher.php b/src/Feeds/Fetcher/HttpFetcher.php
index c4ad512a..75850332 100644
--- a/src/Feeds/Fetcher/HttpFetcher.php
+++ b/src/Feeds/Fetcher/HttpFetcher.php
@@ -111,10 +111,17 @@ class HttpFetcher extends PluginBase implements ClearableInterface, FetcherInter
   public function fetch(FeedInterface $feed, StateInterface $state) {
     $sink = $this->feedsFileSystem->tempnam($feed, 'http_fetcher_');
 
-    // Get cache key if caching is enabled.
-    $cache_key = $this->useCache() ? $this->getCacheKey($feed) : FALSE;
+    try {
+      // Get cache key if caching is enabled.
+      $cache_key = $this->useCache() ? $this->getCacheKey($feed) : FALSE;
+      $response = $this->get($feed->getSource(), $sink, $cache_key, [], $feed->getConfigurationFor($this) ?: []);
+    }
+    // Delete created file if exception returned.
+    catch (\Exception $e) {
+      $this->fileSystem->unlink($sink);
+      throw new \RuntimeException($e->getMessage());
+    }
 
-    $response = $this->get($feed->getSource(), $sink, $cache_key, [], $feed->getConfigurationFor($this) ?: []);
     // @todo Handle redirects.
     // @codingStandardsIgnoreStart
     // $feed->setSource($response->getEffectiveUrl());
@@ -126,6 +133,13 @@ class HttpFetcher extends PluginBase implements ClearableInterface, FetcherInter
       $this->fileSystem->unlink($sink);
 
       $state->setMessage($this->t('The feed has not been updated.'));
+      $this->fileSystem->unlink($sink);
+      throw new EmptyFeedException();
+    }
+    // Validate if empty file, delete the file created and throw an exception
+    else if (empty($response->getBody())) {
+      $state->setMessage($this->t('The feed is empty.'));
+      $this->fileSystem->unlink($sink);
       throw new EmptyFeedException();
     }
     else {
diff --git a/tests/src/Unit/Feeds/Fetcher/HttpFetcherTest.php b/tests/src/Unit/Feeds/Fetcher/HttpFetcherTest.php
index 3431b34d..6b141497 100644
--- a/tests/src/Unit/Feeds/Fetcher/HttpFetcherTest.php
+++ b/tests/src/Unit/Feeds/Fetcher/HttpFetcherTest.php
@@ -67,6 +67,10 @@ class HttpFetcherTest extends FeedsUnitTestCase {
       return @tempnam('public://', $args[1]);
     });
 
+    $file_system->unlink(Argument::type('string'))->will(function ($args) {
+        return TRUE;
+    });
+
     $this->fetcher = new HttpFetcher(['feed_type' => $feed_type], 'http', [], $client, $cache, $file_system->reveal(), $feeds_file_system->reveal());
     $this->fetcher->setStringTranslation($this->getStringTranslationStub());
 
