diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 4f5d102b40460b60e588ea7fdc82def8338f3745..062de5a2523b37f96f2bc1603fa68c55dd425285 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -11,38 +11,6 @@ global $eventSource;
 // Get the params
 $dir = isset( $_REQUEST['dir'] ) ? '/'.trim((string)$_REQUEST['dir'], '/\\') : '';
 $filename = isset( $_REQUEST['filename'] ) ? trim((string)$_REQUEST['filename'], '/\\') : '';
-$content = isset( $_REQUEST['content'] ) ? (string)$_REQUEST['content'] : '';
-$source = isset( $_REQUEST['source'] ) ? trim((string)$_REQUEST['source'], '/\\') : '';
-
-if($source) {
-	$eventSource = \OC::$server->createEventSource();
-}
-
-function progress($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
-	static $filesize = 0;
-	static $lastsize = 0;
-	global $eventSource;
-
-	switch($notification_code) {
-		case STREAM_NOTIFY_FILE_SIZE_IS:
-			$filesize = $bytes_max;
-			break;
-
-		case STREAM_NOTIFY_PROGRESS:
-			if ($bytes_transferred > 0) {
-				if (!isset($filesize) || $filesize === 0) {
-				} else {
-					$progress = (int)(($bytes_transferred/$filesize)*100);
-					if($progress>$lastsize) { //limit the number or messages send
-						$eventSource->send('progress', $progress);
-					}
-					$lastsize=$progress;
-				}
-			}
-			break;
-	}
-}
-
 
 $l10n = \OC::$server->getL10N('files');
 
@@ -89,85 +57,21 @@ if (\OC\Files\Filesystem::file_exists($target)) {
 	exit();
 }
 
-if($source) {
-	$httpHelper = \OC::$server->getHTTPHelper();
-	if(!$httpHelper->isHTTPURL($source)) {
-		OCP\JSON::error(array('data' => array('message' => $l10n->t('Not a valid source'))));
-		exit();
-	}
-
-	if (!ini_get('allow_url_fopen')) {
-		$eventSource->send('error', array('message' => $l10n->t('Server is not allowed to open URLs, please check the server configuration')));
-		$eventSource->close();
-		exit();
-	}
+$success = false;
+$templateManager = OC_Helper::getFileTemplateManager();
+$mimeType = OC_Helper::getMimetypeDetector()->detectPath($target);
+$content = $templateManager->getTemplate($mimeType);
 
-	$source = $httpHelper->getFinalLocationOfURL($source);
-
-	$ctx = stream_context_create(\OC::$server->getHTTPHelper()->getDefaultContextArray(), array('notification' =>'progress'));
-
-	$sourceStream=@fopen($source, 'rb', false, $ctx);
-	$result = 0;
-	if (is_resource($sourceStream)) {
-		$meta = stream_get_meta_data($sourceStream);
-		if (isset($meta['wrapper_data']) && is_array($meta['wrapper_data'])) {
-			//check stream size
-			$storageStats = \OCA\Files\Helper::buildFileStorageStatistics($dir);
-			$freeSpace = $storageStats['freeSpace'];
-
-			foreach($meta['wrapper_data'] as $header) {
-				if (strpos($header, ':') === false){
-					continue;
-				}
-				list($name, $value) = explode(':', $header);
-				if ('content-length' === strtolower(trim($name))) {
-					$length = (int) trim($value);
-
-					if ($length > $freeSpace) {
-						$delta = $length - $freeSpace;
-						$humanDelta = OCP\Util::humanFileSize($delta);
-
-						$eventSource->send('error', array('message' => (string)$l10n->t('The file exceeds your quota by %s', array($humanDelta))));
-						$eventSource->close();
-						fclose($sourceStream);
-						exit();
-					}
-				}
-			}
-		}
-		$result = \OC\Files\Filesystem::file_put_contents($target, $sourceStream);
-	}
-	if($result) {
-		$meta = \OC\Files\Filesystem::getFileInfo($target);
-		$data = \OCA\Files\Helper::formatFileInfo($meta);
-		$eventSource->send('success', $data);
-	} else {
-		$eventSource->send('error', array('message' => $l10n->t('Error while downloading %s to %s', array($source, $target))));
-	}
-	if (is_resource($sourceStream)) {
-		fclose($sourceStream);
-	}
-	$eventSource->close();
-	exit();
+if($content) {
+	$success = \OC\Files\Filesystem::file_put_contents($target, $content);
 } else {
-	$success = false;
-	if (!$content) {
-		$templateManager = OC_Helper::getFileTemplateManager();
-		$mimeType = OC_Helper::getMimetypeDetector()->detectPath($target);
-		$content = $templateManager->getTemplate($mimeType);
-	}
-
-	if($content) {
-		$success = \OC\Files\Filesystem::file_put_contents($target, $content);
-	} else {
-		$success = \OC\Files\Filesystem::touch($target);
-	}
+	$success = \OC\Files\Filesystem::touch($target);
+}
 
-	if($success) {
-		$meta = \OC\Files\Filesystem::getFileInfo($target);
-		OCP\JSON::success(array('data' => \OCA\Files\Helper::formatFileInfo($meta)));
-		exit();
-	}
+if($success) {
+	$meta = \OC\Files\Filesystem::getFileInfo($target);
+	OCP\JSON::success(array('data' => \OCA\Files\Helper::formatFileInfo($meta)));
+	return;
 }
 
 OCP\JSON::error(array('data' => array( 'message' => $l10n->t('Error when creating the file') )));
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 7374a4c90f3858136a57faccabde11cd4b59ad4e..4e0b9e0e6d160531a43c56c89fd5280931d97030 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -602,9 +602,7 @@ OC.Upload = {
 			var lastPos;
 			var checkInput = function () {
 				var filename = input.val();
-				if (type === 'web' && filename.length === 0) {
-					throw t('files', 'URL cannot be empty');
-				} else if (type !== 'web' && ! Files.isFileNameValid(filename)) {
+				if (Files.isFileNameValid(filename)) {
 					// Files.isFileNameValid(filename) throws an exception itself
 				} else if (FileList.inList(filename)) {
 					throw t('files', '{new_name} already exists', {new_name: filename});
@@ -683,56 +681,6 @@ OC.Upload = {
 								}
 							);
 							break;
-						case 'web':
-							if (name.substr(0, 8) !== 'https://' && name.substr(0, 7) !== 'http://') {
-								name = 'http://' + name;
-							}
-							var localName = name;
-							if (localName.substr(localName.length-1, 1) === '/') {//strip /
-								localName = localName.substr(0, localName.length-1);
-							}
-							if (localName.indexOf('/')) { //use last part of url
-								localName = localName.split('/').pop();
-							} else { //or the domain
-								localName = (localName.match(/:\/\/(.[^\/]+)/)[1]).replace('www.', '');
-							}
-							localName = FileList.getUniqueName(localName);
-							//IE < 10 does not fire the necessary events for the progress bar.
-							if ($('html.lte9').length === 0) {
-								$('#uploadprogressbar').progressbar({value: 0});
-								OC.Upload._showProgressBar();
-							}
-
-							var eventSource = new OC.EventSource(
-								OC.filePath('files', 'ajax', 'newfile.php'),
-								{
-									dir: FileList.getCurrentDirectory(),
-									source: name,
-									filename: localName
-								}
-							);
-							eventSource.listen('progress', function(progress) {
-								//IE < 10 does not fire the necessary events for the progress bar.
-								if ($('html.lte9').length === 0) {
-									$('#uploadprogressbar').progressbar('value',progress);
-								}
-							});
-							eventSource.listen('success', function(data) {
-								var file = data;
-								OC.Upload._hideProgressBar();
-
-								FileList.add(file, {hidden: hidden, animate: true});
-							});
-							eventSource.listen('error', function(error) {
-								OC.Upload._hideProgressBar();
-								var message = (error && error.message) || t('core', 'Error fetching URL');
-								OC.Notification.show(message);
-								//hide notification after 10 sec
-								setTimeout(function() {
-									OC.Notification.hide();
-								}, 10000);
-							});
-							break;
 					}
 					var li = form.parent();
 					form.remove();
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index aa879002baa47c0e0ce5431e04b3f9e8e5f803b8..f2292bfae369c5232cba9a355ac867c5a56bae85 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -12,9 +12,6 @@
 						data-type="folder" data-newname="<?php p($l->t('New folder')) ?>">
 						<p><?php p($l->t('Folder'));?></p>
 					</li>
-					<li class="icon-link svg" data-type="web">
-						<p><?php p($l->t('From link'));?></p>
-					</li>
 				</ul>
 			</div>
 			<?php endif;?>