diff --git a/src/main/java/se/su/dsv/scipro/json/pages/JsonNewMessagePage.java b/src/main/java/se/su/dsv/scipro/json/pages/JsonNewMessagePage.java
index 06f5f433a9..5835f59c5d 100644
--- a/src/main/java/se/su/dsv/scipro/json/pages/JsonNewMessagePage.java
+++ b/src/main/java/se/su/dsv/scipro/json/pages/JsonNewMessagePage.java
@@ -6,6 +6,7 @@ import org.apache.wicket.RequestCycle;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 
+import se.su.dsv.scipro.data.controllers.NotificationController;
 import se.su.dsv.scipro.data.dao.interfaces.PrivateMessageDao;
 import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
 import se.su.dsv.scipro.data.dao.interfaces.RecipientDao;
@@ -16,6 +17,7 @@ import se.su.dsv.scipro.data.dataobjects.Recipient;
 import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.data.dataobjects.UserSettings;
 import se.su.dsv.scipro.jsonobjects.JsonPrivateMessage;
+import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
 import se.su.dsv.scipro.util.PushApple;
 
 import com.google.gson.Gson;
@@ -38,12 +40,15 @@ public class JsonNewMessagePage extends WebPage {
 	@SpringBean
 	UserSettingsDao userSettingsDao;
 
+	@SpringBean
+	NotificationController notificationController;
+
 	public JsonNewMessagePage(final PageParameters pp) {
 		final Gson gson = new Gson();
 		final JsonObject jsonOutput = new JsonObject();
 		String loginString = pp.getString("json");
-		JsonPrivateMessage jsonPrivateMessage = gson.fromJson(loginString,
-				JsonPrivateMessage.class);
+		JsonPrivateMessage jsonPrivateMessage = gson
+				.fromJson(loginString, JsonPrivateMessage.class);
 		long userId = jsonPrivateMessage.userid;
 		String apikey = jsonPrivateMessage.apikey;
 		User user = userDao.load(userId);
@@ -53,8 +58,7 @@ public class JsonNewMessagePage extends WebPage {
 			userSettings = new UserSettings(user);
 			userSettings = userSettingsDao.save(userSettings);
 		}
-		if (userSettings.getApiKey() != null
-				&& userSettings.getApiKey().equals(apikey)) {
+		if (userSettings.getApiKey() != null && userSettings.getApiKey().equals(apikey)) {
 			PrivateMessage pm = new PrivateMessage();
 			pm.setFromUser(user);
 			pm.setMessage(jsonPrivateMessage.message);
@@ -66,6 +70,9 @@ public class JsonNewMessagePage extends WebPage {
 				rec.setToUser(selectedUser);
 				rec.setPrivateMessage(pm);
 				rec = recipientDao.save(rec);
+				notificationController.createNotificationForPrivateMessage(selectedUser,
+						jsonPrivateMessage.subject + "\n\n" + jsonPrivateMessage.message,
+						PrivateMessagesPage.getAbsoluteForPrivateMessageURL());
 			}
 			jsonOutput.addProperty("apikey", "success");
 		} else {
@@ -79,8 +86,7 @@ public class JsonNewMessagePage extends WebPage {
 
 			public void respond(RequestCycle requestCycle) {
 				// Add JSON-encoded string to the response.
-				requestCycle.getResponse().setContentType(
-						"application/json; charset=UTF-8");
+				requestCycle.getResponse().setContentType("application/json; charset=UTF-8");
 				requestCycle.getResponse().setCharacterEncoding("UTF-8");
 				requestCycle.getResponse().write(gson.toJson(jsonOutput));
 
@@ -91,12 +97,10 @@ public class JsonNewMessagePage extends WebPage {
 			User selectedUser = userDao.load(id);
 			if (userSettingsDao.getUserSettings(selectedUser) != null) {
 
-				PushApple
-						.sendPushMessage(
-								userSettingsDao.getUserSettings(selectedUser).getiPhoneId(),
-								recipientDao
-										.getNumberOfUnreadMessagesForUser(selectedUser),
-								"New message received");
+				PushApple.sendPushMessage(userSettingsDao.getUserSettings(selectedUser)
+						.getiPhoneId(),
+						recipientDao.getNumberOfUnreadMessagesForUser(selectedUser),
+						"New message received");
 			}
 		}