diff --git a/public/src/app.js b/public/src/app.js
index 3d267cd0a5..7594c4760d 100644
--- a/public/src/app.js
+++ b/public/src/app.js
@@ -85,12 +85,15 @@ var socket,
 			reconnecting = false;
 
 			socket.on('event:connect', function (data) {
+				// TODO : deprecate in 0.7.0, use app.user
 				app.username = data.username;
 				app.userslug = data.userslug;
 				app.picture = data.picture;
 				app.uid = data.uid;
 				app.isAdmin = data.isAdmin;
 
+				app.user = data;
+
 				templates.setGlobal('loggedIn', parseInt(data.uid, 10) !== 0);
 
 				app.showLoginMessage();
diff --git a/public/src/modules/composer.js b/public/src/modules/composer.js
index 9c0a3ec8e3..47ce7366bc 100644
--- a/public/src/modules/composer.js
+++ b/public/src/modules/composer.js
@@ -463,7 +463,7 @@ define('composer', dependencies, function(taskbar, controls, uploads, formatting
 
 	function showEmailConfirmAlert(err) {
 		app.alert({
-			id: 'email_confirm',
+			alert_id: 'email_confirm',
 			title: '[[global:alert.error]]',
 			message: err.message,
 			type: 'danger',
diff --git a/src/socket.io/index.js b/src/socket.io/index.js
index 2ad77b319c..a0e0c1a150 100644
--- a/src/socket.io/index.js
+++ b/src/socket.io/index.js
@@ -65,7 +65,7 @@ function onConnect(socket) {
 
 		async.parallel({
 			user: function(next) {
-				user.getUserFields(socket.uid, ['username', 'userslug', 'picture', 'status'], next);
+				user.getUserFields(socket.uid, ['username', 'userslug', 'picture', 'status', 'email:confirmed'], next);
 			},
 			isAdmin: function(next) {
 				user.isAdministrator(socket.uid, next);
@@ -74,13 +74,10 @@ function onConnect(socket) {
 			if (err || !userData.user) {
 				return;
 			}
-			socket.emit('event:connect', {
-				username: userData.user.username,
-				userslug: userData.user.userslug,
-				picture: userData.user.picture,
-				isAdmin: userData.isAdmin,
-				uid: socket.uid
-			});
+			userData.user.uid = socket.uid;
+			userData.user.isAdmin = userData.isAdmin;
+			userData.user['email:confirmed'] = parseInt(userData.user['email:confirmed'], 10) === 1;
+			socket.emit('event:connect', userData.user);
 
 			socket.broadcast.emit('event:user_status_change', {uid: socket.uid, status: userData.user.status});
 		});
diff --git a/src/user/email.js b/src/user/email.js
index 3c477618c9..9a4fd2cd73 100644
--- a/src/user/email.js
+++ b/src/user/email.js
@@ -66,6 +66,8 @@ var async = require('async'),
 							plugins.fireHook('action:user.verify', {uid: uid, data: data});
 						} else if (plugins.hasListeners('action:email.send')) {
 							emailer.send('welcome', uid, data);
+						} else {
+							winston.warn('No emailer to send verification email!');
 						}
 					});
 				});