diff --git a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java b/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
index d81e73fe2b..1598d646fe 100644
--- a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
+++ b/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
@@ -27,7 +27,7 @@ import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
 import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
 import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
 import se.su.dsv.scipro.project.pages.ProjectStartPage;
-import se.su.dsv.scipro.project.pages.SelfCheckPage;
+import se.su.dsv.scipro.project.pages.ProjectChecklistPage;
 import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
 import se.su.dsv.scipro.security.auth.roles.Roles;
 import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
@@ -57,8 +57,6 @@ public class MainMenuPanel extends Panel implements IWiQueryPlugin {
 		projectMenuSubItems.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class));
 		projectMenuSubItems.add(new MenuItem(ProjectOppositionPage.MAIN_MENU_LABEL, ProjectOppositionPage.class));
 		projectMenuSubItems.add(new MenuItem(FinalSeminarProjectListPage.MAIN_MENU_LABEL, FinalSeminarProjectListPage.class));
-		projectMenuSubItems.add(new MenuItem("Project Partner", ProjectPartnerPage.class));
-		projectMenuSubItems.add(new MenuItem("Self Check", SelfCheckPage.class));
 		MainMenuItem projectMenuItem = new MainMenuItem("projectMenuItem", ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class, containerClass, projectMenuSubItems);
         add(projectMenuItem);
 		
diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.html b/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.html
new file mode 100644
index 0000000000..ae81354e01
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html
+	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
+<head>
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
+</head>
+<body>
+	<wicket:panel>
+		<div wicket:id="feedbackPanel"></div>
+		<form wicket:id="form">
+			<div>
+				<input wicket:id="questions" type="text" />
+			</div>
+			<input wicket:id="button" type="submit"/>
+		</form>
+		<div>
+			<a href="#" wicket:id="link">Print</a>
+		</div>
+		
+		<div>
+			<a href="#" wicket:id="newLink">New Link</a>
+		</div>
+	</wicket:panel>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.java
new file mode 100644
index 0000000000..5705cfbd88
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/checklists/panels/CreateCheckListTemplatePanel.java
@@ -0,0 +1,159 @@
+package se.su.dsv.scipro.checklists.panels;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.SortedSet;
+
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.basic.MultiLineLabel;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.Radio;
+import org.apache.wicket.markup.html.form.RadioChoice;
+import org.apache.wicket.markup.html.form.RadioGroup;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.spring.injection.annot.SpringBean;
+
+import se.su.dsv.scipro.SciProSession;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListAnswerDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListQuestionDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListTemplateDao;
+import se.su.dsv.scipro.data.dao.interfaces.ProjectClassDao;
+import se.su.dsv.scipro.data.dataobjects.CheckList;
+import se.su.dsv.scipro.data.dataobjects.CheckListAnswer;
+import se.su.dsv.scipro.data.dataobjects.CheckListQuestion;
+import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
+import se.su.dsv.scipro.data.dataobjects.GeneralSystemSettings;
+import se.su.dsv.scipro.data.dataobjects.ProjectClass;
+import se.su.dsv.scipro.data.enums.CheckListQuestionAnswer;
+import se.su.dsv.scipro.data.enums.StateOfMind;
+import se.su.dsv.scipro.knol.resource.page.StaticImage;
+import edu.emory.mathcs.backport.java.util.Arrays;
+
+/**
+ * @author fnorbe@dsv.su.se
+ */
+
+public class CreateCheckListTemplatePanel extends Panel {
+
+	private static final long serialVersionUID = 8862892008428526067L;
+
+	@SpringBean
+	private CheckListDao checkListDao;
+
+	@SpringBean
+	private CheckListAnswerDao checkListAnswerDao;
+
+	@SpringBean
+	private CheckListQuestionDao checkListQuestionDao;
+
+	@SpringBean
+	private CheckListTemplateDao checkListTemplateDao;
+
+	@SpringBean
+	private ProjectClassDao projectClassDao;
+
+	private String question = "";
+	private String title = "";
+	
+	private ProjectClass projectClass;
+
+	private CheckListTemplate checkListTemplate = new CheckListTemplate();
+
+	public CreateCheckListTemplatePanel(String id) {
+		super(id);
+		projectClass = projectClassDao.getProjectClass(ProjectClass.BACHELOR);
+		final FeedbackPanel feedbackPanel = new FeedbackPanel("feedbackPanel");
+		feedbackPanel.setOutputMarkupId(true);
+		add(feedbackPanel);
+		Form<CheckListTemplate> form = new Form<CheckListTemplate>("form");
+		final TextField<String> titleField = new RequiredTextField<String>("title",
+				new PropertyModel<String>(this, "title"));
+		final TextField<String> questionField = new RequiredTextField<String>("questions",
+				new PropertyModel<String>(this, "question"));
+		questionField.setOutputMarkupId(true);
+		RadioChoice<ProjectClass> radioChoice = new RadioChoice<ProjectClass>("view",
+				new PropertyModel<ProjectClass>(this, "projectClass"), projectClassDao.findAll());
+
+		IModel<List<String>> questionModel = new LoadableDetachableModel<List<String>>() {
+
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected List<String>  load() {
+				// TODO Auto-generated method stub
+				return checkListTemplate.getQuestions();
+			}
+		};
+		
+		AjaxLink<Void> printLink = new AjaxLink<Void>("addQuestionLink") {
+
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				checkListTemplate.getQuestions().add(question);
+				question = "";
+				target.addComponent(questionField);
+			}
+		};
+		AjaxButton button = new AjaxButton("button", new Model<String>("Save")) {
+
+			/**
+			 * 
+			 */
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+
+				checkListTemplate.setLevel(projectClass);
+				checkListTemplate.setCreator(SciProSession.get().getUser());
+				checkListTemplate.setName(title);
+
+				target.addComponent(feedbackPanel);
+				
+			}
+		};
+		form.add(titleField);
+		form.add(radioChoice);
+		form.add(button);
+		form.add(questionField);
+		add(form);
+
+
+
+		AjaxLink<Void> newLink = new AjaxLink<Void>("newLink") {
+
+			/**
+			 * 
+			 */
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				checkListTemplate = new CheckListTemplate();
+
+			}
+		};
+		add(printLink);
+		add(newLink);
+
+	};
+
+}
diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html
index a235198823..ed606075c0 100644
--- a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html
+++ b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.html
@@ -11,11 +11,19 @@
 				<table wicket:id="group">
 					<tr wicket:id="persons">
 						<td><input type="radio" wicket:id="radio" /></td>
-						<td> <img wicket:id="image"/></td>
-					</tr> 
+						<td><img wicket:id="image" /></td>
+					</tr>
 				</table>
 			</form>
 		</div>
+		<div wicket:id="checkLists">
+			<div wicket:id="listView">
+				<span wicket:id="question"></span>
+				<div wicket:id="listViewAnswer">
+					<span wicket:id="answer"></span>
+				</div>
+			</div>
+		</div>
 	</wicket:panel>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java
index 1aa44102c5..bc91621b35 100644
--- a/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java
+++ b/src/main/java/se/su/dsv/scipro/checklists/panels/TrafficLightPanel.java
@@ -1,28 +1,29 @@
 package se.su.dsv.scipro.checklists.panels;
 
-import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
-import org.apache.wicket.ajax.AjaxRequestTarget;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.basic.MultiLineLabel;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.Radio;
 import org.apache.wicket.markup.html.form.RadioGroup;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.Model;
-import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.odlabs.wiquery.ui.core.DefaultJsScopeUiEvent;
-import org.odlabs.wiquery.ui.slider.Slider;
 
 import se.su.dsv.scipro.SciProSession;
-import se.su.dsv.scipro.data.dao.interfaces.ProjectDao;
-import se.su.dsv.scipro.data.dataobjects.Project;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListAnswerDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListQuestionDao;
+import se.su.dsv.scipro.data.dao.interfaces.CheckListTemplateDao;
+import se.su.dsv.scipro.data.dataobjects.CheckList;
+import se.su.dsv.scipro.data.dataobjects.CheckListAnswer;
+import se.su.dsv.scipro.data.dataobjects.CheckListQuestion;
+import se.su.dsv.scipro.data.enums.CheckListQuestionAnswer;
 import se.su.dsv.scipro.data.enums.StateOfMind;
 import se.su.dsv.scipro.knol.resource.page.StaticImage;
 import edu.emory.mathcs.backport.java.util.Arrays;
@@ -33,14 +34,23 @@ import edu.emory.mathcs.backport.java.util.Arrays;
 
 public class TrafficLightPanel extends Panel {
 
-
 	private static final long serialVersionUID = 8862892008428526067L;
 
+	@SpringBean
+	private CheckListDao checkListDao;
 
-	public TrafficLightPanel(String id, WebPage parent) {
+	@SpringBean
+	private CheckListAnswerDao checkListAnswerDao;
+
+	@SpringBean
+	private CheckListQuestionDao checkListQuestionDao;
+
+	@SpringBean
+	private CheckListTemplateDao checkListTemplateDao;
+
+	public TrafficLightPanel(String id) {
 		super(id);
-		WebMarkupContainer stateOfMindContainer = new WebMarkupContainer(
-				"stateOfMindContainer");
+		WebMarkupContainer stateOfMindContainer = new WebMarkupContainer("stateOfMindContainer");
 		add(stateOfMindContainer);
 
 		Form<StateOfMind> f = new Form<StateOfMind>("form");
@@ -59,16 +69,80 @@ public class TrafficLightPanel extends Panel {
 							"images/icons/green_ball_32.png"));
 				} else if (stateOfMind.equals(StateOfMind.NEEDHELP)) {
 					image = new StaticImage("image", new Model<String>(
-					"images/icons/red_ball_32.png"));
+							"images/icons/red_ball_32.png"));
 				} else if (stateOfMind.equals(StateOfMind.NEUTRAL)) {
 					image = new StaticImage("image", new Model<String>(
-					"images/icons/yellow_ball_32.png"));
+							"images/icons/yellow_ball_32.png"));
 				}
 				item.add(image);
 			};
 		};
 		group.add(persons);
-	}
+
+		List<CheckList> checkLists = checkListDao.findCheckLists(SciProSession.get()
+				.getActiveProject());
+		if (checkLists.size() < 1) {
+			CheckList checkList = new CheckList("Test", SciProSession.get().getActiveProject());
+			CheckListQuestion checkListQuestion = new CheckListQuestion("Testquestion?");
+			checkListQuestion = checkListQuestionDao.save(checkListQuestion);
+			checkList.getQuestions().add(checkListQuestion);
+			checkList = checkListDao.save(checkList);
+		}
+
+		ListView<CheckList> checkListsListView = new ListView<CheckList>("checkLists", checkLists) {
+
+			/**
+			 * 
+			 */
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected void populateItem(ListItem<CheckList> item) {
+
+				ListView<CheckListQuestion> listView = new ListView<CheckListQuestion>(
+						"listView",
+						new ArrayList<CheckListQuestion>(item.getModel().getObject().getQuestions())) {
+
+					private static final long serialVersionUID = 1L;
+
+					@Override
+					protected void populateItem(ListItem<CheckListQuestion> item) {
+						CheckListQuestion checkListQuestion = item.getModel().getObject();
+						if(checkListQuestion.getAnswers().size() == 0){
+							CheckListAnswer checkListAnswer = new CheckListAnswer(SciProSession.get().getUser(), CheckListQuestionAnswer.GREEN);
+							checkListAnswer = checkListAnswerDao.save(checkListAnswer);
+							checkListQuestion.getAnswers().add(checkListAnswer);
+							checkListQuestionDao.save(checkListQuestion);
+							
+						}
+						item.add(new Label("question", item.getModel().getObject().getQuestion()));
+						
+						ListView<CheckListAnswer> listView = new ListView<CheckListAnswer>(
+								"listViewAnswer",
+								new ArrayList<CheckListAnswer>(item.getModel().getObject().getAnswers())) {
+
+							private static final long serialVersionUID = 1L;
+
+							@Override
+							protected void populateItem(ListItem<CheckListAnswer> item) {
+								item.add(new Label("answer", item.getModel().getObject().getAnswer().toString()));
+								
+
+							}
+
+						};
+						item.add(listView);
+
+					}
+
+				};
+
+				item.add(listView);
+
+			}
+		};
+
+		add(checkListsListView);
+	};
 
 }
-
diff --git a/src/main/java/se/su/dsv/scipro/conference/pages/ProjectConferencePage.java b/src/main/java/se/su/dsv/scipro/conference/pages/ProjectConferencePage.java
index 904cfd0479..915b18711c 100644
--- a/src/main/java/se/su/dsv/scipro/conference/pages/ProjectConferencePage.java
+++ b/src/main/java/se/su/dsv/scipro/conference/pages/ProjectConferencePage.java
@@ -5,12 +5,12 @@ package se.su.dsv.scipro.conference.pages;
 
 import java.util.HashSet;
 import java.util.Set;
-import java.util.StringTokenizer;
 
 import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.markup.html.panel.EmptyPanel;
+import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.protocol.http.RequestUtils;
@@ -53,24 +53,10 @@ public class ProjectConferencePage extends ProjectPage {
 
 	public ProjectConferencePage(PageParameters pp) {
 		super(pp);
-		String projectId = pp.getString("pid");
-		String boardMessageId = null;
-		if (projectId != null) {
-			StringTokenizer stringTokenizer = new StringTokenizer(projectId, "&");
-			boolean first = true;
-			for (int i = 0; i < 2; i++) {
-				if (stringTokenizer.hasMoreTokens()) {
-					if (first) {
-						projectId = stringTokenizer.nextToken().trim();
-						first = false;
-					} else {
-						boardMessageId = stringTokenizer.nextToken().trim();
-					}
-				}
-			}
-		}
+		Long projectId = pp.getAsLong("pid");
+		Long boardMessageId = pp.getAsLong("cid");
 		if (projectId == null && SciProSession.get().getActiveProject() != null) {
-			projectId = String.valueOf(SciProSession.get().getActiveProject().getId());
+			projectId = SciProSession.get().getActiveProject().getId();
 		}
 		if (projectId != null) {
 			final Project project = projectDao.load(Long.valueOf(projectId));
@@ -126,23 +112,23 @@ public class ProjectConferencePage extends ProjectPage {
 					messageBoard.setTitle(projectModel.getObject().getTitle());
 					messageBoard = messageBoardDao.save(messageBoard);
 				}
-				messageBoardModel = new LoadableDetachableModel<MessageBoard>() {
+				messageBoardModel = new AbstractReadOnlyModel<MessageBoard>() {
 					private static final long serialVersionUID = 1L;
 
 					@Override
-					protected MessageBoard load() {
+					public MessageBoard getObject()  {
 						return messageBoardDao.reLoad(messageBoard);
 					}
 				};
 				if (boardMessageId != null) {
 					final BoardMessage bm = boardMessageDao.load(Long.valueOf(boardMessageId));
 
-					if (bm != null && messageBoard.getBoardMessageSet().contains(bm)) {
-						boardMessageModel = new LoadableDetachableModel<BoardMessage>() {
+					if (bm != null) {
+						boardMessageModel = new AbstractReadOnlyModel<BoardMessage>() {
 							private static final long serialVersionUID = 1L;
 
 							@Override
-							protected BoardMessage load() {
+							public BoardMessage getObject()  {
 								return boardMessageDao.reLoad(bm);
 							}
 						};
diff --git a/src/main/java/se/su/dsv/scipro/conference/pages/SupervisorConferencePage.java b/src/main/java/se/su/dsv/scipro/conference/pages/SupervisorConferencePage.java
index 248bcb088d..77e4fbe596 100644
--- a/src/main/java/se/su/dsv/scipro/conference/pages/SupervisorConferencePage.java
+++ b/src/main/java/se/su/dsv/scipro/conference/pages/SupervisorConferencePage.java
@@ -11,6 +11,7 @@ import org.apache.wicket.PageParameters;
 import org.apache.wicket.RequestCycle;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.markup.html.panel.EmptyPanel;
+import org.apache.wicket.model.AbstractReadOnlyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.protocol.http.RequestUtils;
@@ -56,22 +57,8 @@ public class SupervisorConferencePage extends AbstractSupervisorPage {
 
 	public SupervisorConferencePage(PageParameters pp) {
 		super(pp);
-		String projectId = pp.getString("pid");
-		String boardMessageId = null;
-		if (projectId != null) {
-			StringTokenizer stringTokenizer = new StringTokenizer(projectId, "&");
-			boolean first = true;
-			for (int i = 0; i < 2; i++) {
-				if (stringTokenizer.hasMoreTokens()) {
-					if (first) {
-						projectId = stringTokenizer.nextToken().trim();
-						first = false;
-					} else {
-						boardMessageId = stringTokenizer.nextToken().trim();
-					}
-				}
-			}
-		}
+		Long projectId = pp.getAsLong(PROJECTID);
+		Long boardMessageId = pp.getAsLong("cid");
 		if (projectId == null) {
 			add(new EmptyPanel("conferencePanel"));
 		} else {
@@ -122,23 +109,24 @@ public class SupervisorConferencePage extends AbstractSupervisorPage {
 					messageBoard.setTitle(projectModel.getObject().getTitle());
 					messageBoard = messageBoardDao.save(messageBoard);
 				}
-				messageBoardModel = new LoadableDetachableModel<MessageBoard>() {
+				messageBoardModel = new AbstractReadOnlyModel<MessageBoard>() {
 					private static final long serialVersionUID = 1L;
 
 					@Override
-					protected MessageBoard load() {
+					public MessageBoard getObject() {
 						return messageBoardDao.reLoad(messageBoard);
 					}
+
 				};
 				if (boardMessageId != null) {
 					final BoardMessage bm = boardMessageDao.load(Long.valueOf(boardMessageId));
 
-					if (bm != null && messageBoard.getBoardMessageSet().contains(bm)) {
-						boardMessageModel = new LoadableDetachableModel<BoardMessage>() {
+					if (bm != null) {
+						boardMessageModel = new AbstractReadOnlyModel<BoardMessage>() {
 							private static final long serialVersionUID = 1L;
 
 							@Override
-							protected BoardMessage load() {
+							public BoardMessage getObject() {
 								return boardMessageDao.reLoad(bm);
 							}
 						};
diff --git a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
index c22e32565b..9fdc4a4fb1 100644
--- a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
+++ b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
@@ -32,6 +32,7 @@ import se.su.dsv.scipro.data.controllers.NotificationController;
 import se.su.dsv.scipro.data.controllers.NotificationMessage;
 import se.su.dsv.scipro.data.dao.interfaces.BoardMessageDao;
 import se.su.dsv.scipro.data.dao.interfaces.CommentThreadDao;
+import se.su.dsv.scipro.data.dao.interfaces.MessageBoardDao;
 import se.su.dsv.scipro.data.dataobjects.BoardMessage;
 import se.su.dsv.scipro.data.dataobjects.MessageBoard;
 import se.su.dsv.scipro.data.dataobjects.User;
@@ -51,6 +52,8 @@ public class ConferencePanel extends Panel {
 	private BoardMessageDao boardMessageDao;
 	@SpringBean
 	private CommentThreadDao commentThreadDao;
+	@SpringBean
+	private MessageBoardDao messageBoardDao;
 
 	@SpringBean
 	private NotificationController notificationController;
@@ -61,6 +64,7 @@ public class ConferencePanel extends Panel {
 	private IModel<BoardMessage> boardMessageModel;
 	private Set<SubscriberModel> subscriberModels;
 	private FeedbackPanel feedbackPanel;
+	private final static int BOARDMESSAGESPERPAGE = 10;
 
 	public ConferencePanel(String id, IModel<MessageBoard> messageBoardModel,
 			Set<SubscriberModel> subscriberModels, IModel<BoardMessage> boardMessageModel) {
@@ -80,7 +84,7 @@ public class ConferencePanel extends Panel {
 		feedbackPanel = new FeedbackPanel("feedbackPanel");
 		feedbackPanel.setOutputMarkupId(true);
 		add(feedbackPanel);
-		
+
 		add(new SendWallMessageForm("sendForm"));
 		webMarkupContainer = new WebMarkupContainer("container");
 		loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
@@ -88,11 +92,17 @@ public class ConferencePanel extends Panel {
 		webMarkupContainer.setOutputMarkupId(true);
 		webMarkupContainer.add(new PagingNavigator("pagingNavigator", dataView));
 		add(webMarkupContainer);
+		if (boardMessageModel != null) {
+			
+			int index = boardMessageDao.getBoardMessageSortOrderIndex(boardMessageModel.getObject());
+			System.out.println(index);
+			dataView.setCurrentPage(index/BOARDMESSAGESPERPAGE);
+		}
 	}
 
 	public void loadUserDataView(IDataProvider<BoardMessage> boardMessageDataProvider) {
 
-		dataView = new DataView<BoardMessage>("boardMessageDataView", boardMessageDataProvider, 10) {
+		dataView = new DataView<BoardMessage>("boardMessageDataView", boardMessageDataProvider, BOARDMESSAGESPERPAGE) {
 
 			private static final long serialVersionUID = 1L;
 
@@ -112,8 +122,10 @@ public class ConferencePanel extends Panel {
 					@Override
 					public void onClick(AjaxRequestTarget target) {
 
-						BoardMessage boardMessageTemp = boardMessageDao.reLoad(bm);
-						boardMessageDao.delete(boardMessageTemp);
+						MessageBoard mb = messageBoardModel.getObject();
+						mb.getBoardMessages().remove(boardMessageDao.reLoad(bm));
+						messageBoardDao.save(mb);
+						boardMessageDao.delete(boardMessageDao.reLoad(bm));
 						webMarkupContainer.removeAll();
 						loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
 						webMarkupContainer.add(dataView);
@@ -242,23 +254,28 @@ public class ConferencePanel extends Panel {
 					} else {
 						BoardMessage bm = new BoardMessage();
 						bm.setMessage(message);
-						bm.setMessageBoard(messageBoardModel.getObject());
 						bm.setFromUser(SciProSession.get().getUser());
 						bm = boardMessageDao.save(bm);
+						
+						MessageBoard mb = messageBoardModel.getObject();
+						mb.addToBoardMessages(bm);
+						messageBoardDao.save(mb);
 
 						for (SubscriberModel subscriberModel : subscriberModels) {
-							notificationController.notifyConferencePost(subscriberModel.getUser(), message, messageBoardModel.getObject().getTitle(),
+							notificationController.notifyConferencePost(subscriberModel.getUser(),
+									message, messageBoardModel.getObject().getTitle(),
 									subscriberModel.getNotificationPriority(),
 									subscriberModel.getAbsolutePath());
 						}
+
 						messageTextArea.setDefaultModelObject("");
 						webMarkupContainer.removeAll();
 						loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
 						webMarkupContainer.add(dataView);
 						webMarkupContainer.add(new PagingNavigator("pagingNavigator", dataView));
 						target.addComponent(webMarkupContainer);
-						target.addComponent(messageTextArea);	
-						
+						target.addComponent(messageTextArea);
+
 					}
 					target.addComponent(feedbackPanel);
 				}
diff --git a/src/main/java/se/su/dsv/scipro/data/controllers/impl/NotificationControllerImpl.java b/src/main/java/se/su/dsv/scipro/data/controllers/impl/NotificationControllerImpl.java
index fb11252c3f..1e7a680d93 100644
--- a/src/main/java/se/su/dsv/scipro/data/controllers/impl/NotificationControllerImpl.java
+++ b/src/main/java/se/su/dsv/scipro/data/controllers/impl/NotificationControllerImpl.java
@@ -224,7 +224,7 @@ public class NotificationControllerImpl implements NotificationController {
 
 		NotificationMessage notificationMessage = new NotificationMessage(webNotificationMessage,
 				mailSubject, mailMessage);
-		processNotification(user, notificationMessage, absolutePath + "&" + classId,
+		processNotification(user, notificationMessage, absolutePath + "/cid/" + classId,
 				notificationPriority);
 	}
 
diff --git a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/BoardMessageDao.java b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/BoardMessageDao.java
index 3603f8a918..9e1a0636cd 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/BoardMessageDao.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/BoardMessageDao.java
@@ -4,7 +4,6 @@ import java.util.List;
 
 import se.su.dsv.scipro.data.dataobjects.BoardMessage;
 import se.su.dsv.scipro.data.dataobjects.MessageBoard;
-import se.su.dsv.scipro.data.dataobjects.User;
 
 /**
  * @author Johan Aschan - aschan@dsv.su.se
@@ -17,4 +16,6 @@ public interface BoardMessageDao extends Dao<BoardMessage>{
 			final int count);
 	public int getBoardMessageListCount(final MessageBoard mb);
 	
+	public int getBoardMessageSortOrderIndex(final BoardMessage bm);
+	
 }
diff --git a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/MessageBoardDao.java b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/MessageBoardDao.java
index 2d18e06550..f7d7bc6fa4 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/MessageBoardDao.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/MessageBoardDao.java
@@ -4,7 +4,6 @@
 package se.su.dsv.scipro.data.dao.interfaces;
 
 import se.su.dsv.scipro.data.dataobjects.MessageBoard;
-import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.data.dataobjects.interfaces.Commentable;
 
 /**
@@ -15,6 +14,6 @@ import se.su.dsv.scipro.data.dataobjects.interfaces.Commentable;
 
 public interface MessageBoardDao extends Dao<MessageBoard>{
 
-	public MessageBoard getMessageBoard(Commentable commentableDomainObject);
-
+	public MessageBoard getMessageBoard(final Commentable commentableDomainObject);
+	
 }
diff --git a/src/main/java/se/su/dsv/scipro/data/dao/jpa/BoardMessageDaoJPAImp.java b/src/main/java/se/su/dsv/scipro/data/dao/jpa/BoardMessageDaoJPAImp.java
index fbf94f58ae..d750476587 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/jpa/BoardMessageDaoJPAImp.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/jpa/BoardMessageDaoJPAImp.java
@@ -19,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional;
 import se.su.dsv.scipro.data.dao.interfaces.BoardMessageDao;
 import se.su.dsv.scipro.data.dataobjects.BoardMessage;
 import se.su.dsv.scipro.data.dataobjects.MessageBoard;
-import se.su.dsv.scipro.data.dataobjects.User;
 
 /**
  * @author Johan Aschan - aschan@dsv.su.se
@@ -44,7 +43,7 @@ public class BoardMessageDaoJPAImp extends AbstractDaoJPAImp<BoardMessage>
 				TypedQuery<BoardMessage> query = em
 						.createQuery(
 								"select bm FROM  BoardMessage bm, MessageBoard mb " +
-								"WHERE bm member of mb.boardMessageSet AND mb = :mb ORDER BY bm.dateCreated DESC", BoardMessage.class);
+								"WHERE bm member of mb.boardMessages AND mb = :mb ORDER BY bm.dateCreated DESC", BoardMessage.class);
 				query.setHint(QueryHints.HINT_CACHEABLE, "true");
 				query.setParameter("mb", mb);
 				query.setFirstResult(first);
@@ -68,7 +67,7 @@ public class BoardMessageDaoJPAImp extends AbstractDaoJPAImp<BoardMessage>
 				TypedQuery<Long> query = em
 						.createQuery(
 								"SELECT COUNT (bm) FROM  BoardMessage bm, MessageBoard mb " +
-								"WHERE bm member of mb.boardMessageSet AND mb = :mb", Long.class);
+								"WHERE bm member of mb.boardMessages AND mb = :mb", Long.class);
 				query.setHint(QueryHints.HINT_CACHEABLE, "true");
 				query.setParameter("mb", mb);
 				return query.getSingleResult().intValue();
@@ -77,6 +76,24 @@ public class BoardMessageDaoJPAImp extends AbstractDaoJPAImp<BoardMessage>
 		});
 	}
 	
-
-
+	
+	// Hibernate seemms not to support the index operator for the moment, but this query should be used if it does in the future.
+	@Override
+	@Transactional(readOnly = true)
+	public int getBoardMessageSortOrderIndex(final BoardMessage bm){
+		return getJpaTemplate().execute(new JpaCallback<Integer>() {
+			@Override
+			public Integer doInJpa(EntityManager em)
+					throws PersistenceException {
+				TypedQuery<Integer> query = em
+						.createQuery(
+								"SELECT index(b) FROM MessageBoard mb JOIN mb.boardMessages b " +
+								"WHERE b = :bm", Integer.class);
+				query.setHint(QueryHints.HINT_CACHEABLE, "true");
+				query.setParameter("bm", bm);
+				return query.getSingleResult().intValue();
+			
+			}
+		});
+	}
 }
diff --git a/src/main/java/se/su/dsv/scipro/data/dao/jpa/MessageBoardDaoJPAImp.java b/src/main/java/se/su/dsv/scipro/data/dao/jpa/MessageBoardDaoJPAImp.java
index 649deda415..c2882b4c09 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/jpa/MessageBoardDaoJPAImp.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/jpa/MessageBoardDaoJPAImp.java
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
 import se.su.dsv.scipro.data.dao.interfaces.MessageBoardDao;
+import se.su.dsv.scipro.data.dataobjects.BoardMessage;
 import se.su.dsv.scipro.data.dataobjects.MessageBoard;
 import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.data.dataobjects.interfaces.Commentable;
diff --git a/src/main/java/se/su/dsv/scipro/data/dataobjects/BoardMessage.java b/src/main/java/se/su/dsv/scipro/data/dataobjects/BoardMessage.java
index 6dbf3d0161..6008a96fe9 100644
--- a/src/main/java/se/su/dsv/scipro/data/dataobjects/BoardMessage.java
+++ b/src/main/java/se/su/dsv/scipro/data/dataobjects/BoardMessage.java
@@ -7,14 +7,12 @@ import java.util.ArrayList;
 import java.util.List;
 
 import javax.persistence.Cacheable;
-import javax.persistence.CascadeType;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 import javax.persistence.Lob;
 import javax.persistence.ManyToOne;
 import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
 import javax.persistence.Table;
 
 import org.hibernate.annotations.Cache;
@@ -48,9 +46,6 @@ public class BoardMessage extends DomainObject implements Commentable, Comparabl
 	@OneToMany
 	private List<BoardMessage> replyMessageList = new ArrayList<BoardMessage>(0);
 	
-	@ManyToOne(optional=false)
-	private MessageBoard messageBoard;
-	
 	@Override
 	public Long getId() {
 		return id;
@@ -65,20 +60,6 @@ public class BoardMessage extends DomainObject implements Commentable, Comparabl
 	}
 	
 
-	/**
-	 * @return the messageBoard
-	 */
-	public MessageBoard getMessageBoard() {
-		return messageBoard;
-	}
-
-	/**
-	 * @param messageBoard the messageBoard to set
-	 */
-	public void setMessageBoard(MessageBoard messageBoard) {
-		this.messageBoard = messageBoard;
-	}
-
 	@Override
 	public String getCommentKey() {
 		return BoardMessage.class.getCanonicalName().toString();
@@ -140,8 +121,6 @@ public class BoardMessage extends DomainObject implements Commentable, Comparabl
 		}
 		if(this.getId() != null && o.getId() != null)
 			return this.getId().compareTo(o.getId());
-		if(this.message != null && o.message != null)
-			return message.compareTo(o.message);
 		//By now we have to conclude the two objects are basically two objects full of nulls 
 		return 0;
 	}
diff --git a/src/main/java/se/su/dsv/scipro/data/dataobjects/MessageBoard.java b/src/main/java/se/su/dsv/scipro/data/dataobjects/MessageBoard.java
index ec7ab1259f..8441e6b0d4 100644
--- a/src/main/java/se/su/dsv/scipro/data/dataobjects/MessageBoard.java
+++ b/src/main/java/se/su/dsv/scipro/data/dataobjects/MessageBoard.java
@@ -4,6 +4,7 @@
 package se.su.dsv.scipro.data.dataobjects;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.SortedSet;
 import java.util.TreeSet;
@@ -15,7 +16,10 @@ import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
+import javax.persistence.ManyToMany;
 import javax.persistence.OneToMany;
+import javax.persistence.OrderBy;
+import javax.persistence.OrderColumn;
 import javax.persistence.PrePersist;
 import javax.persistence.PreUpdate;
 import javax.persistence.Table;
@@ -50,7 +54,7 @@ public class MessageBoard extends DomainObject{
 	}
 	
 	@Basic(optional=false)
-	public String title;
+	private String title;
 	
 	@Basic(optional=false)
 	@Column(length=255)
@@ -70,32 +74,36 @@ public class MessageBoard extends DomainObject{
 		if(getCommentableKey().length() > 255)
 			throw new IllegalArgumentException("CommentThread-commentableKey may not be longer than 255 characters");
 	}
-	
 
-	
-	@Sort(type=SortType.NATURAL)
-	@OneToMany(mappedBy="messageBoard", orphanRemoval=true, cascade=CascadeType.ALL, targetEntity=BoardMessage.class)
-	private SortedSet<BoardMessage> boardMessageSet = new TreeSet<BoardMessage>();
+	@OrderColumn(name="orderIndex")
+	@ManyToMany
+	private List<BoardMessage> boardMessages = new ArrayList<BoardMessage>();
 
 
-	public List<BoardMessage> getBoardMessageList() {
-		return new ArrayList<BoardMessage>(boardMessageSet);
-	}
-	
-	public SortedSet<BoardMessage> getBoardMessageSet() {
-		return boardMessageSet;
-	}
-
-	
-	public void setBoardMessageSet( SortedSet<BoardMessage> boardMessageList) {
-		this.boardMessageSet = boardMessageList;
+	/**
+	 * @return the boardMessages
+	 */
+	public List<BoardMessage> getBoardMessages() {
+		return boardMessages;
 	}
 	/**
-	 * @return the commentableKey
+	 * @param boardMessages the boardMessages to set
 	 */
+	public void setBoardMessages(List<BoardMessage> boardMessages) {
+		this.boardMessages = boardMessages;
+	}
+	
 	public String getCommentableKey() {
 		return commentableKey;
 	}
+	
+	public void addToBoardMessages(BoardMessage boardMessage){
+        int pos = Collections.binarySearch(boardMessages, boardMessage);
+        if (pos < 0) {
+            pos = -pos - 1;
+        }
+        boardMessages.add(pos, boardMessage);
+	}
 	/**
 	 * @param commentableKey the commentableKey to set
 	 */
diff --git a/src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.html b/src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.html
similarity index 55%
rename from src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.html
rename to src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.html
index bca333a27b..2921c71d9a 100644
--- a/src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.html
+++ b/src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.html
@@ -3,7 +3,8 @@
 	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
 <body>
 <wicket:extend>
-	<div wicket:id="trafficLightPanel""></div>
+<!-- 	<div wicket:id="trafficLightPanel"></div> -->
+<!-- 	<div wicket:id="createCheckList"></div> -->
 </wicket:extend>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.java b/src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.java
new file mode 100644
index 0000000000..ad39c2dbc3
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/project/pages/ProjectChecklistPage.java
@@ -0,0 +1,22 @@
+package se.su.dsv.scipro.project.pages;
+
+import org.apache.wicket.PageParameters;
+
+import se.su.dsv.scipro.security.auth.Authorization;
+import se.su.dsv.scipro.security.auth.roles.Roles;
+
+/**
+ * @author Fredrik Norberg - fnorbe@dsv.su.se
+ * 
+ */
+
+@Authorization(authorizedRoles={Roles.SYSADMIN}) //TODO Hidden for initial deployment
+public class ProjectChecklistPage extends ProjectPage {
+
+	public ProjectChecklistPage(PageParameters pp) {
+		super(pp);
+		//add(new TrafficLightPanel("trafficLightPanel"));
+		//add(new CreateCheckListTemplatePanel("createCheckList"));
+	}
+
+}
diff --git a/src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.java b/src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.java
deleted file mode 100644
index 2cdae57ca1..0000000000
--- a/src/main/java/se/su/dsv/scipro/project/pages/SelfCheckPage.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package se.su.dsv.scipro.project.pages;
-
-import org.apache.wicket.PageParameters;
-
-import se.su.dsv.scipro.checklists.panels.TrafficLightPanel;
-
-/**
- * @author Fredrik Norberg - fnorbe@dsv.su.se
- * 
- */
-
-public class SelfCheckPage extends ProjectPage {
-
-	public SelfCheckPage(PageParameters pp) {
-		super(pp);
-		add(new TrafficLightPanel("trafficLightPanel", this));
-	}
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java b/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
index 719379f0e4..d1ad784e74 100644
--- a/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
+++ b/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
@@ -18,7 +18,7 @@ import se.su.dsv.scipro.project.pages.ProjectPage;
 import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
 import se.su.dsv.scipro.project.pages.ProjectSchedulePlannerPage;
 import se.su.dsv.scipro.project.pages.ProjectStartPage;
-import se.su.dsv.scipro.project.pages.SelfCheckPage;
+import se.su.dsv.scipro.project.pages.ProjectChecklistPage;
 import se.su.dsv.scipro.repository.panels.ProjectFilePanel;
 
 /**
@@ -48,7 +48,7 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
 			itemList.add(new MenuItem("Peer review", ProjectPeerPortalPage.class));
 			itemList.add(new MenuItem("All Final Seminars", FinalSeminarProjectListPage.class));
 			itemList.add(new MenuItem("Conference", ProjectConferencePage.class));
-			itemList.add(new MenuItem("Self Check", SelfCheckPage.class));
+			itemList.add(new MenuItem("Checklists", ProjectChecklistPage.class));
 		} else {
 			itemList.add(new MenuItem("No active project!", NoActiveProjectPage.class));
 			itemList.add(new MenuItem("Project Partner", ProjectPartnerPage.class));
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
index cea9c530c7..7d6e6766b3 100644
--- a/src/main/resources/META-INF/persistence.xml
+++ b/src/main/resources/META-INF/persistence.xml
@@ -67,6 +67,10 @@
 		<class>se.su.dsv.scipro.data.dataobjects.ProjectPartner</class>
 		<class>se.su.dsv.scipro.data.dataobjects.CheckPlagiarismEvent</class>
 		<class>se.su.dsv.scipro.data.dataobjects.WebNotification</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListTemplate</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckList</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListAnswer</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListQuestion</class>
 		
 		<properties>
 		
@@ -171,6 +175,10 @@
 		<class>se.su.dsv.scipro.data.dataobjects.ProjectPartner</class>
 		<class>se.su.dsv.scipro.data.dataobjects.CheckPlagiarismEvent</class>
 		<class>se.su.dsv.scipro.data.dataobjects.WebNotification</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListTemplate</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckList</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListAnswer</class>
+		<class>se.su.dsv.scipro.data.dataobjects.CheckListQuestion</class>
 		
 
 		<properties>
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 7ea6274a27..63aefacc39 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -64,8 +64,8 @@
 		<!-- Use deployment for production, development for development -->
 	<context-param>
 		<param-name>configuration</param-name>
-<!-- 			<param-value>development</param-value> -->
-			<param-value>deployment</param-value>
+			<param-value>development</param-value>
+<!-- 			<param-value>deployment</param-value> -->
 	</context-param>
 	
 
diff --git a/src/test/java/se/su/dsv/scipro/dao/jpa/TestBoardMessageDaoJPA.java b/src/test/java/se/su/dsv/scipro/dao/jpa/TestBoardMessageDaoJPA.java
index 8b4ed74aa2..abd9ebcab1 100644
--- a/src/test/java/se/su/dsv/scipro/dao/jpa/TestBoardMessageDaoJPA.java
+++ b/src/test/java/se/su/dsv/scipro/dao/jpa/TestBoardMessageDaoJPA.java
@@ -94,17 +94,24 @@ public class TestBoardMessageDaoJPA {
 		
 		Set<User> subscribers = new HashSet<User>();
 		subscribers.add(user);
-		messageBoard = new MessageBoard(presenterProject);	
-		messageBoard.setTitle("test");
-		messageBoard = messageBoardDao.save(messageBoard);
+
 	
 
 		
 		boardMessage = new BoardMessage();
 		boardMessage.setFromUser(user);
 		boardMessage.setMessage("Test");
-		boardMessage.setMessageBoard(messageBoard);
 		boardMessage = boardMessageDao.save(boardMessage);
+		
+		boardMessage = new BoardMessage();
+		boardMessage.setFromUser(user);
+		boardMessage.setMessage("Test");
+		boardMessage = boardMessageDao.save(boardMessage);
+		
+		messageBoard = new MessageBoard(presenterProject);	
+		messageBoard.setTitle("test");
+		messageBoard.getBoardMessages().add(boardMessage);
+		messageBoard = messageBoardDao.save(messageBoard);
 
 		
 	}
@@ -123,5 +130,11 @@ public class TestBoardMessageDaoJPA {
 		Assert.assertEquals(1, boardMessageDao.getBoardMessageListCount(messageBoard));
 	}
 
+	@Test
+	@Transactional
+	@Rollback
+	public void getBoardMessageSortOrderIndex() {
+		Assert.assertEquals(0, boardMessageDao.getBoardMessageSortOrderIndex(boardMessage));
+	}
 
 }