diff --git a/src/wp-admin/includes/class-wp-filesystem-ftpext.php b/src/wp-admin/includes/class-wp-filesystem-ftpext.php
index f337c73..1dfe136 100644
--- a/src/wp-admin/includes/class-wp-filesystem-ftpext.php
+++ b/src/wp-admin/includes/class-wp-filesystem-ftpext.php
@@ -180,7 +180,21 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 
 		fseek( $temp, 0 ); // Skip back to the start of the file being written to
 
-		$ret = @ftp_fput( $this->link, $file, $temp, FTP_BINARY );
+		$tries = 1;
+		$total_tries = 3;
+		while (($ret = ftp_fput($this->link, $file, $temp, $type)) != 1 && $tries <= $total_tries)
+		{
+			if($tries < $total_tries)
+			{
+				error_log("Error Uploading File. Tried $tries of $total_tries. Reconnecting...");
+				sleep(1);
+				$this->connect();
+			}
+			else
+				error_log("Error Uploading File. Tried $tries of $total_tries.");
+			
+			$tries++;
+		}
 
 		fclose($temp);
 		unlink($tempfile);
