diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/ftp.php
index 125888ef72237e40bf281009ca315b61d62a9614..338e2c14fa4c706c0d118097ff92387a6799fbb8 100644
--- a/apps/files_external/lib/ftp.php
+++ b/apps/files_external/lib/ftp.php
@@ -30,6 +30,8 @@
 
 namespace OC\Files\Storage;
 
+use Icewind\Streams\RetryWrapper;
+
 class FTP extends \OC\Files\Storage\StreamWrapper{
 	private $password;
 	private $user;
@@ -105,7 +107,8 @@ class FTP extends \OC\Files\Storage\StreamWrapper{
 			case 'ab':
 				//these are supported by the wrapper
 				$context = stream_context_create(array('ftp' => array('overwrite' => true)));
-				return fopen($this->constructUrl($path), $mode, false, $context);
+				$handle = fopen($this->constructUrl($path), $mode, false, $context);
+				return RetryWrapper::wrap($handle);
 			case 'r+':
 			case 'w+':
 			case 'wb+':