diff --git a/avatar.php b/avatar.php
index a6d6666c62313ed3e1dafc2c52db32b8b53621df..70444dafcb55872b75b5b85d498e2e1268433c10 100644
--- a/avatar.php
+++ b/avatar.php
@@ -7,11 +7,6 @@ if (!\OC_User::isLoggedIn()) {
 	\OC_Template::printErrorPage("Permission denied");
 }
 
-$mode = \OC_Avatar::getMode();
-if ($mode === "none") {
-	exit();
-}
-
 if ($_SERVER['REQUEST_METHOD'] === "GET") {
 	if (isset($_GET['user'])) {
 		//SECURITY TODO does this fully eliminate directory traversals?
@@ -33,8 +28,6 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
 
 	if ($image instanceof \OC_Image) {
 		$image->show();
-	} elseif (is_string($image)) { // Gravatar alike services
-		header("Location: ".$image);
 	} else {
 		$image = \OC_Avatar::getDefaultAvatar($user, $size);
 		$image->show();
@@ -60,7 +53,7 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
 	}
 
 	try {
-		\OC_Avatar::setLocalAvatar($user, $avatar);
+		\OC_Avatar::set($user, $avatar);
 		OC_JSON::success();
 	} catch (\Exception $e) {
 		OC_JSON::error(array("data" => array ("message" => $e->getMessage()) ));
@@ -69,7 +62,7 @@ if ($_SERVER['REQUEST_METHOD'] === "GET") {
 	$user = OC_User::getUser();
 
 	try {
-		\OC_Avatar::setLocalAvatar($user, false);
+		\OC_Avatar::set($user, false);
 		OC_JSON::success();
 	} catch (\Exception $e) {
 		OC_JSON::error(array("data" => array ("message" => $e->getMessage()) ));
diff --git a/config/config.sample.php b/config/config.sample.php
index fb2271339b29131b412460ad83910d111b34da63..24ba541ac5c8d5f268df6b66db305a0aafc42bb4 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -65,12 +65,6 @@ $CONFIG = array(
 /* URL to the parent directory of the 3rdparty directory, as seen by the browser */
 "3rdpartyurl" => "",
 
-/* What avatars to use.
- * May be "none" for none, "local" for uploaded avatars, or "gravatar" for gravatars.
- * Default is "local".
- */
-"avatars" => "local",
-
 /* Default app to load on login */
 "defaultapp" => "files",
 
diff --git a/core/img/defaultavatar.png b/core/img/defaultavatar.png
deleted file mode 100644
index e9572080bbf3fb403a8b07b11d9271546c89c78e..0000000000000000000000000000000000000000
Binary files a/core/img/defaultavatar.png and /dev/null differ
diff --git a/lib/avatar.php b/lib/avatar.php
index b091161aef0640df3937891d97e2fad18bf33b00..fa8fece080ce829c7dbc45063be88e3143112d68 100644
--- a/lib/avatar.php
+++ b/lib/avatar.php
@@ -8,52 +8,44 @@
 
 /**
  * This class gets and sets users avatars.
- * Available backends are local (saved in users root at avatar.[png|jpg]), gravatar TODO and custom backends.
- * However the get function is easy to extend with further backends.
-*/
+ */
 
 class OC_Avatar {
 	/**
-	 * @brief gets the users avatar
-	 * @param $user string username, if not provided, the default avatar will be returned
-	 * @param $size integer size in px of the avatar, defaults to 64
-	 * @return mixed \OC_Image containing the avatar, a link to the avatar, false if avatars are disabled
-	*/
-	public static function get ($user = false, $size = 64) {
-		$mode = self::getMode();
-		if ($mode === "none") {
-			// avatars are disabled
-			return false;
-		} else {
-			if ($user === false) {
-				return self::getDefaultAvatar($size);
-			} elseif ($mode === "gravatar") {
-				return self::getGravatar($user, $size);
-			} elseif ($mode === "local") {
-				return self::getLocalAvatar($user, $size);
-			} elseif ($mode === "custom") {
-				return self::getCustomAvatar($user, $size);
-			}
+         * @brief get the users avatar
+         * @param $user string which user to get the avatar for
+         * @param $size integer size in px of the avatar, defaults to 64
+         * @return \OC_Image containing the avatar
+        */
+        public static function get ($user, $size = 64) {
+		if ($user === false) {
+			return self::getDefaultAvatar($user, $size);
 		}
-	}
 
-	/**
-	 * @brief returns the active avatar mode
-	 * @return string active avatar mode
-	*/
-	public static function getMode () {
-		return \OC_Config::getValue("avatar", "local");
-	}
+                $view = new \OC\Files\View('/'.$user);
+
+                if ($view->file_exists('avatar.jpg')) {
+                        $ext = 'jpg';
+                } elseif ($view->file_exists('avatar.png')) {
+                        $ext = 'png';
+                } else {
+                        return self::getDefaultAvatar($user, $size);
+                }
+
+                $avatar = new OC_Image($view->file_get_contents('avatar.'.$ext));
+                $avatar->resize($size);
+                return $avatar;
+        }
 
 	/**
-	 * @brief sets the users local avatar
+	 * @brief sets the users avatar
 	 * @param $user string user to set the avatar for
 	 * @param $data mixed imagedata or path to set a new avatar, or false to delete the current avatar
 	 * @throws Exception if the provided file is not a jpg or png image
 	 * @throws Exception if the provided image is not valid, or not a square
 	 * @return true on success
 	*/
-	public static function setLocalAvatar ($user, $data) {
+	public static function set ($user, $data) {
 		$view = new \OC\Files\View('/'.$user);
 
 		if ($data === false) {
@@ -66,7 +58,7 @@ class OC_Avatar {
 			if ($type === 'peg') { $type = 'jpg'; }
 			if ($type !== 'jpg' && $type !== 'png') {
 				$l = \OC_L10N::get('lib');
-				throw new \Exception($l->t("Unknown filetype for avatar"));
+				throw new \Exception($l->t("Unknown filetype"));
 			}
 
 			if (!( $img->valid() && ($img->height() === $img->width()) )) {
@@ -81,54 +73,6 @@ class OC_Avatar {
 		}
 	}
 
-	/**
-	 * @brief get the users gravatar
-	 * @param $user string which user to get the gravatar for
-	 * @param $size integer size in px of the avatar, defaults to 64
-	 * @return string link to the gravatar, or \OC_Image with the default avatar
-	*/
-	public static function getGravatar ($user, $size = 64) {
-		$email = \OC_Preferences::getValue($user, 'settings', 'email');
-		if ($email !== null) {
-			$emailhash = md5(strtolower(trim($email)));
-			$url = "http://secure.gravatar.com/avatar/".$emailhash."?d=404&s=".$size;
-			$headers = get_headers($url, 1);
-			if (strpos($headers[0], "404 Not Found") === false) {
-				return $url;
-			}
-		}
-		return self::getDefaultAvatar($user, $size);
-	}
-
-	/**
-	 * @brief get the local avatar
-	 * @param $user string which user to get the avatar for
-	 * @param $size integer size in px of the avatar, defaults to 64
-	 * @return string \OC_Image containing the avatar
-	*/
-	public static function getLocalAvatar ($user, $size = 64) {
-		$view = new \OC\Files\View('/'.$user);
-
-		if ($view->file_exists('avatar.jpg')) {
-			$ext = 'jpg';
-		} elseif ($view->file_exists('avatar.png')) {
-			$ext = 'png';
-		} else {
-			return self::getDefaultAvatar($user, $size);
-		}
-
-		$avatar = new OC_Image($view->file_get_contents('avatar.'.$ext));
-		$avatar->resize($size);
-		return $avatar;
-	}
-
-	/**
-	 * @todo todo
-	*/
-	public static function getCustomAvatar($user, $size) {
-		// TODO
-	}
-
 	/**
 	 * @brief gets the default avatar
 	 * @brief $user string which user to get the avatar for
@@ -137,8 +81,10 @@ class OC_Avatar {
 	 * @todo use custom default images, when they arive
 	*/
 	public static function getDefaultAvatar ($user, $size = 64) {
-		$default = new OC_Image(OC::$SERVERROOT."/core/img/defaultavatar.png");
+		// TODO
+		/*$default = new OC_Image(OC::$SERVERROOT."/core/img/defaultavatar.png");
 		$default->resize($size);
-		return $default;
+		return $default;*/
+		return;
 	}
 }
diff --git a/settings/admin.php b/settings/admin.php
index 394d6b55d78f96e344f3b41669933b868b30cab3..869729a9e4102a532e06baffc0fe0320ffc6bcdb 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -30,7 +30,6 @@ $tmpl->assign('isWebDavWorking', OC_Util::isWebDAVWorking());
 $tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded());
 $tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
 $tmpl->assign('shareAPIEnabled', OC_Appconfig::getValue('core', 'shareapi_enabled', 'yes'));
-$tmpl->assign('avatar', OC_Config::getValue("avatar", "local"));
 
 // Check if connected using HTTPS
 if (OC_Request::serverProtocol() === 'https') {
diff --git a/settings/ajax/setavatarmode.php b/settings/ajax/setavatarmode.php
deleted file mode 100644
index f6f19f50cc90de6dd132bfd05d27c43a8b647396..0000000000000000000000000000000000000000
--- a/settings/ajax/setavatarmode.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-/**
- * Copyright (c) 2013 Christopher Schäpers <christopher@schaepers.it>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-OC_Util::checkAdminUser();
-OCP\JSON::callCheck();
-
-OC_Config::setValue('avatar', $_POST['mode']);
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 6fa1c768ea3b99cb812d0b40f161e56e9c72379e..f2d6f37a51a3494269e36240920be665311cf1a0 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -14,12 +14,6 @@ $(document).ready(function(){
 		}
 	});
 
-	$('#avatar input').change(function(){
-		if ($(this).attr('checked')) {
-			$.post(OC.filePath('settings', 'ajax', 'setavatarmode.php'), {mode: $(this).val()});
-		}
-	});
-
 	$('#shareAPIEnabled').change(function() {
 		$('.shareAPI td:not(#enable)').toggle();
 	});
diff --git a/settings/personal.php b/settings/personal.php
index 233b1440eb227542a23bb6c254835ba63a41ccdd..d109d33e4bd6161355950c49576308b6080a214b 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -15,9 +15,7 @@ OC_Util::addScript( 'settings', 'personal' );
 OC_Util::addStyle( 'settings', 'settings' );
 OC_Util::addScript( '3rdparty', 'chosen/chosen.jquery.min' );
 OC_Util::addStyle( '3rdparty', 'chosen' );
-if (OC_Config::getValue('avatar', 'local') === 'local') {
-	\OC_Util::addScript('files', 'jquery.fileupload');
-}
+\OC_Util::addScript('files', 'jquery.fileupload');
 OC_App::setActiveNavigationEntry( 'personal' );
 
 $storageInfo=OC_Helper::getStorageInfo();
diff --git a/settings/routes.php b/settings/routes.php
index 9a27c3e439b4af73595cab84b6e14c1d866507fa..73ee70d1d5cbca819c9014ff32968152857270be 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -70,5 +70,3 @@ $this->create('settings_ajax_setsecurity', '/settings/ajax/setsecurity.php')
 	->actionInclude('settings/ajax/setsecurity.php');
 $this->create('isadmin', '/settings/js/isadmin.js')
 	->actionInclude('settings/js/isadmin.php');
-$this->create('settings_ajax_setavatarmode', '/settings/ajax/setavatarmode.php')
-	->actionInclude('settings/ajax/setavatarmode.php');
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 64c1b1112ce50d519278dd18b968d99cfba41cb2..e54586b80dfa15f4c91ff7a897aa433be745a942 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -116,33 +116,6 @@ if (!$_['internetconnectionworking']) {
 	</p>
 </fieldset>
 
-<fieldset class="personalblock" id="avatar">
-	<legend><strong><?php p($l->t('Profile images')); ?></strong></legend>
-	<p>
-		<input type="radio" name="avatarmode" value="gravatar" id="avatar_gravatar"
-			<?php if ($_['avatar'] === "gravatar") { p('checked'); } ?>
-			<?php if (!$_['internetconnectionworking']) { p('disabled'); } ?>>
-		<label for="avatar_gravatar">Gravatar</label><br>
-		<em><?php print_unescaped($l->t('Use <a href="http://gravatar.com/">gravatar</a> for profile images')); ?></em><br>
-		<em><?php p($l->t('This sends data to gravatar and may slow down loading')); ?></em>
-		<?php if (!$_['internetconnectionworking']): ?>
-		<br><em><?php p($l->t('Gravatar needs an internet connection!')); ?></em>
-		<?php endif; ?>
-	</p>
-	<p>
-		<input type="radio" name="avatarmode" value="local" id="avatar_local"
-			<?php if ($_['avatar'] === "local") { p('checked'); } ?>>
-		<label for="avatar_local"><?php p($l->t('Local avatars')); ?></label><br>
-		<em><?php p($l->t('Use local avatars, which each user has to upload themselves')); ?></em>
-	</p>
-	<p>
-		<input type="radio" name="avatarmode" value="none" id="avatar_none"
-			<?php if ($_['avatar'] === "none") { p('checked'); } ?>>
-		<label for="avatar_none"><?php p($l->t('No avatars')); ?></label><br>
-		<em><?php p($l->t('Do not provide avatars')); ?></em>
-	</p>
-</fieldset>
-
 <fieldset class="personalblock" id="shareAPI">
 	<legend><strong><?php p($l->t('Sharing'));?></strong></legend>
 	<table class="shareAPI nostyle">
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 7832c79894bfaeb867223656e00209ec261defe7..7cd5361a92431b01762440235f922aab25dca76b 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -83,26 +83,17 @@ if($_['passwordChangeSupported']) {
 }
 ?>
 
-<?php if ($_['avatar'] !== "none"): ?>
 <form id="avatar" method="post" action="<?php p(\OC_Helper::linkTo('', 'avatar.php')); ?>">
 	<fieldset class="personalblock">
 		<legend><strong><?php p($l->t('Profile Image')); ?></strong></legend>
 		<img src="<?php print_unescaped(link_to('', 'avatar.php').'?user='.OC_User::getUser().'&size=128'); ?>"><br>
-		<?php if ($_['avatar'] === "local"): ?>
-			<em><?php p($l->t('Your profile image has to be a square and either a PNG or JPG image')); ?></em><br>
-			<div class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload a new image')); ?></div>
-			<input type="file" class="hidden" name="files[]" id="uploadavatar">
-			<div class="inlineblock button" id="selectavatar"><?php p($l->t('Select a new image from your files')); ?></div>
-			<div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove my image')); ?></div>
-		<?php elseif ($_['avatar'] === "gravatar"): ?>
-			<em><?php p($l->t('Your profile image is provided by gravatar, which is based on your Email.')); ?></em>
-			<div class?"inlineblock button" id="overridegravatar"><?php p($l->t('Use my local avatar instead')); ?></div>
-		<?php else: ?>
-			<em><?php p($l->t('Your profile image is provided by a custom service, ask your administrator, on how to change your image.')); ?></em>
-		<?php endif; ?>
+		<em><?php p($l->t('Has to be square and either PNG or JPG')); ?></em><br>
+		<div class="inlineblock button" id="uploadavatarbutton"><?php p($l->t('Upload new')); ?></div>
+		<input type="file" class="hidden" name="files[]" id="uploadavatar">
+		<div class="inlineblock button" id="selectavatar"><?php p($l->t('Select new from files')); ?></div>
+		<div class="inlineblock button" id="removeavatar"><?php p($l->t('Remove image')); ?></div>
 	</fieldset>
 </form>
-<?php endif; ?>
 
 <form>
 	<fieldset class="personalblock">
diff --git a/settings/templates/users.php b/settings/templates/users.php
index 78bdbcd8c43f574938f79f0e44fccf80a58f8107..d3f356a7ba8bfd490f40df7c708335d8b1e6a2a7 100644
--- a/settings/templates/users.php
+++ b/settings/templates/users.php
@@ -81,9 +81,7 @@ $_['subadmingroups'] = array_flip($items);
 <table class="hascontrols" data-groups="<?php p(json_encode($allGroups));?>">
 	<thead>
 		<tr>
-			<?php if(\OC_Avatar::getMode() !== "none"): ?>
-				<th id='headerAvatar'></th>
-			<?php endif; ?>
+			<th id='headerAvatar'></th>
 			<th id='headerName'><?php p($l->t('Username'))?></th>
 			<th id="headerDisplayName"><?php p($l->t( 'Display Name' )); ?></th>
 			<th id="headerPassword"><?php p($l->t( 'Password' )); ?></th>
@@ -99,9 +97,7 @@ $_['subadmingroups'] = array_flip($items);
 		<?php foreach($_["users"] as $user): ?>
 		<tr data-uid="<?php p($user["name"]) ?>"
 			data-displayName="<?php p($user["displayName"]) ?>">
-			<?php if(\OC_Avatar::getMode() !== "none"): ?>
-				<td class="avatar"><img src="<?php print_unescaped(link_to('', 'avatar.php')); ?>?user=<?php p($user['name']); ?>&size=32"></td>
-			<?php endif; ?>
+			<td class="avatar"><img src="<?php print_unescaped(link_to('', 'avatar.php')); ?>?user=<?php p($user['name']); ?>&size=32"></td>
 			<td class="name"><?php p($user["name"]); ?></td>
 			<td class="displayName"><span><?php p($user["displayName"]); ?></span> <img class="svg action"
 				src="<?php p(image_path('core', 'actions/rename.svg'))?>"
diff --git a/tests/lib/avatar.php b/tests/lib/avatar.php
index 0e1aa3d9f62fe1590e15ef131155ed36a8fc9522..42b06f8bccb553fd6fd1e9db673ca8e47478d5dd 100644
--- a/tests/lib/avatar.php
+++ b/tests/lib/avatar.php
@@ -8,51 +8,23 @@
 
 class Test_Avatar extends PHPUnit_Framework_TestCase {
 
-	public function testModes() {
-		$this->assertEquals('local', \OC_Avatar::getMode());
-
-		\OC_Config::setValue('avatar', 'local');
-		$this->assertEquals('local', \OC_Avatar::getMode());
-
-		\OC_Config::setValue('avatar', 'gravatar');
-		$this->assertEquals('gravatar', \OC_Avatar::getMode());
-
-		\OC_Config::setValue('avatar', 'none');
-		$this->assertEquals('none', \OC_Avatar::getMode());
-	}
-
-	public function testDisabledAvatar() {
-		\OC_Config::setValue('avatar', 'none');
-		$this->assertFalse(\OC_Avatar::get(\OC_User::getUser()));
-		$this->assertFalse(\OC_Avatar::get(\OC_User::getUser(), 32));
-	}
-
-	public function testLocalAvatar() {
-		\OC_Config::setValue('avatar', 'local');
+	public function testAvatar() {
 		$expected = \OC_Avatar::getDefaultAvatar()->data();
 		$this->assertEquals($expected, \OC_Avatar::get(\OC_User::getUser())->data());
 
 		$expected = new OC_Image(\OC::$SERVERROOT.'/tests/data/testavatar.png');
-		\OC_Avatar::setLocalAvatar(\OC_User::getUser(), $expected->data());
+		\OC_Avatar::set(\OC_User::getUser(), $expected->data());
 		$expected->resize(64);
 		$this->assertEquals($expected->data(), \OC_Avatar::get(\OC_User::getUser())->data());
 
-		\OC_Avatar::setLocalAvatar(\OC_User::getUser(), false);
+		\OC_Avatar::set(\OC_User::getUser(), false);
 		$expected = \OC_Avatar::getDefaultAvatar()->data();
 		$this->assertEquals($expected, \OC_Avatar::get(\OC_User::getUser())->data());
 	}
 
-	public function testGravatar() {
-		\OC_Preferences::setValue(\OC_User::getUser(), 'settings', 'email', 'someone@example.com');
-		\OC_Config::setValue('avatar', 'gravatar');
-		$expected = "http://www.gravatar.com/avatar/".md5("someone@example.com")."?s=";
-		$this->assertEquals($expected."64", \OC_Avatar::get(\OC_User::getUser()));
-		$this->assertEquals($expected."32", \OC_Avatar::get(\OC_User::getUser(), 32));
-	}
-
-	public function testDefaultAvatar() {
+	/*public function testDefaultAvatar() {
 		$img = new \OC_Image(OC::$SERVERROOT.'/core/img/defaultavatar.png');
 		$img->resize(128);
 		$this->assertEquals($img->data(), \OC_Avatar::getDefaultAvatar(\OC_User::getUser(), 128)->data());
-	}
+	}*/
 }