diff --git src/bp-core/bp-core-avatars.php src/bp-core/bp-core-avatars.php
index b7cfe95..86a1282 100644
--- src/bp-core/bp-core-avatars.php
+++ src/bp-core/bp-core-avatars.php
@@ -1936,7 +1936,7 @@ function bp_avatar_is_front_edit() {
  * @return bool True to load the Webcam Avatar UI part. False otherwise.
  */
 function bp_avatar_use_webcam() {
-	global $is_safari, $is_IE;
+	global $is_safari, $is_IE, $is_chrome;
 
 	/**
 	 * Do not use the webcam feature for mobile devices
@@ -1951,7 +1951,7 @@ function bp_avatar_use_webcam() {
 	 *
 	 * @see  http://caniuse.com/#feat=stream
 	 */
-	if ( $is_safari || $is_IE ) {
+	if ( $is_safari || $is_IE || ( $is_chrome && ! is_ssl() ) ) {
 		return false;
 	}
 
diff --git src/bp-core/css/avatar.css src/bp-core/css/avatar.css
index 2986dff..45ff387 100644
--- src/bp-core/css/avatar.css
+++ src/bp-core/css/avatar.css
@@ -170,7 +170,15 @@ div.bp-avatar-nav {
 	text-align: center;
 }
 
-.drag-drop-inside p.drag-drop-info {margin-top: 0;}
+.drag-drop-inside p.drag-drop-info {
+	margin-top: 0;
+}
+
+@supports (-ms-accelerator:true) {
+	.drag-drop-inside p.drag-drop-info {
+		display: block;
+	}
+}
 
 #avatar-to-crop {
 	margin: 0 auto 20px ;
diff --git src/bp-core/js/avatar.js src/bp-core/js/avatar.js
index b410204..b27bc21 100644
--- src/bp-core/js/avatar.js
+++ src/bp-core/js/avatar.js
@@ -15,6 +15,8 @@ window.bp = window.bp || {};
 
 	bp.Avatar = {
 		start: function() {
+			var self = this;
+
 			/**
 			 * Remove the bp-legacy UI
 			 *
@@ -42,20 +44,14 @@ window.bp = window.bp || {};
 
 			/**
 			 * In Administration screens we're using Thickbox
-			 * We need to make sure to reset the views if it's closed
+			 * We need to make sure to reset the views if it's closed or opened
 			 */
 			$( 'body.wp-admin' ).on( 'tb_unload', '#TB_window', function() {
-				// Reset to the uploader view
-				bp.Avatar.nav.trigger( 'bp-avatar-view:changed', 'upload' );
-
-				// Reset to the uploader nav
-				_.each( bp.Avatar.navItems.models, function( model ) {
-					if ( model.id === 'upload' ) {
-						model.set( { active: 1 } );
-					} else {
-						model.set( { active: 0 } );
-					}
-				} );
+				self.resetViews();
+			} );
+
+			$( 'body.wp-admin' ).on( 'click', '.bp-xprofile-avatar-user-edit', function() {
+				self.resetViews();
 			} );
 		},
 
@@ -122,6 +118,20 @@ window.bp = window.bp || {};
 			}
 		},
 
+		resetViews: function() {
+			// Reset to the uploader view
+			this.nav.trigger( 'bp-avatar-view:changed', 'upload' );
+
+			// Reset to the uploader nav
+			_.each( this.navItems.models, function( model ) {
+				if ( model.id === 'upload' ) {
+					model.set( { active: 1 } );
+				} else {
+					model.set( { active: 0 } );
+				}
+			} );
+		},
+
 		setupNav: function() {
 			var self = this,
 			    initView, activeView;
diff --git src/bp-core/js/webcam.js src/bp-core/js/webcam.js
index 4e86f1d..16ff039 100644
--- src/bp-core/js/webcam.js
+++ src/bp-core/js/webcam.js
@@ -89,6 +89,8 @@ window.bp = window.bp || {};
 			} else if ( navigator.mozGetUserMedia ) {
 				video.src = stream;
 				video.play();
+			} else if ( video.srcObject !== undefined ) {
+				video.srcObject = stream;
 			} else if ( window.URL ) {
 				video.src = window.URL.createObjectURL( stream );
 			} else {
@@ -212,7 +214,7 @@ window.bp = window.bp || {};
 			bp.WebCam.displayWarning( 'requesting' );
 
 			if ( navigator.getUserMedia ) {
-				navigator.getUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCams.noStream );
+				navigator.getUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream );
 			}  else if ( navigator.oGetUserMedia ) {
 				navigator.oGetUserMedia( { video:true }, bp.WebCam.gotStream, bp.WebCam.noStream );
 			} else if ( navigator.mozGetUserMedia ) {
