diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
index 4c2ea656faff5c2618285c743db096871c2f513f..f676f785ac447eb4f5549b45c52c0f65367738f5 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/PubmedParser.java
@@ -10,6 +10,7 @@ import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
+import org.apache.commons.lang3.SerializationException;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.w3c.dom.Document;
@@ -116,7 +117,12 @@ public class PubmedParser extends CachableInterface implements IExternalService
 	 */
 	public Article getPubmedArticleById(Integer id) throws PubmedSearchException {
 		String queryString = "pubmed: " + id;
-		Article result = articleSerializer.xmlToObject(getCacheNode(queryString));
+		Article result = null;
+		try {
+			result = articleSerializer.xmlToObject(getCacheNode(queryString));
+		} catch (SerializationException e) {
+			logger.warn("Problem with deserialization of the string: " + queryString);
+		}
 		if (result != null && result.getTitle() != null) {
 			return result;
 		} else {
diff --git a/frontend-js/src/main/css/global.css b/frontend-js/src/main/css/global.css
index da6f6288d13d1ecb9948cdb7a16e460282b43f28..a6b0e2f6d94be4f0e6995bf0b30db9e2390124ec 100644
--- a/frontend-js/src/main/css/global.css
+++ b/frontend-js/src/main/css/global.css
@@ -377,4 +377,8 @@ table.mapInfoBoxResultsTable, table.mapInfoBoxResultsTable th, table.mapInfoBoxR
 .minerva-export-dual-listbox-container {
 	padding: 10px;
 	float: left;
+}
+
+table.minerva-publication-table td {
+	padding: 0px;
 }
\ No newline at end of file
diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index a12a922ce8834f4d06e74adb9de0a6f3340cdfd9..d109546174ff8b7e09a06f24c7edd84f22e9c184 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -1248,6 +1248,9 @@ ServerConnector.getPublications = function(params) {
   var filterParams = {
     start : params.start,
     length : params.length,
+    sortColumn : params.sortColumn,
+    sortOrder : params.sortOrder,
+    search : params.search,
   };
   return self.getProjectId(params.projectId).then(function(result) {
     queryParams.projectId = result;
diff --git a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
index 20b4711ee337120bb3e09d63a96e818d00fcc471..1ea977520e95076a6e0c62e6dedc77373e222afa 100644
--- a/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
+++ b/frontend-js/src/main/js/gui/leftPanel/PublicationListDialog.js
@@ -17,10 +17,11 @@ function PublicationListDialog(params) {
   var self = this;
   self.createPublicationListDialogGui();
   $(self.getElement()).dialog({
+    title : "Publication list",
     autoOpen : false,
     resizable : false,
-    width : window.innerWidth / 2,
-    height : window.innerHeight / 2,
+    width : Math.max(window.innerWidth / 2, window.innerWidth - 100),
+    height : Math.max(window.innerHeight / 2, window.innerHeight - 100),
   });
 }
 
@@ -44,6 +45,7 @@ PublicationListDialog.prototype.createPublicationListDialogGui = function() {
   });
   var tableElement = Functions.createElement({
     type : "table",
+    className : "minerva-publication-table",
     style : "width: 100%",
   });
 
@@ -56,9 +58,13 @@ PublicationListDialog.prototype.createPublicationListDialogGui = function() {
 
 PublicationListDialog.prototype._dataTableAjaxCall = function(data, callback) {
   var self = this;
+  logger.info(data);
   return ServerConnector.getPublications({
     start : data.start,
     length : data.length,
+    sortColumn : self.getColumnsDefinition()[data.order[0].column].name,
+    sortOrder : data.order[0].dir,
+    search : data.search.value,
   })
       .then(
           function(publicationList) {
@@ -114,11 +120,12 @@ PublicationListDialog.prototype.show = function() {
     return new Promise(function(resolve) {
       $(self.tableElement).dataTable({
         serverSide : true,
-        ordering : false,
-        searching : false,
+        ordering : true,
+        searching : true,
         ajax : function(data, callback, settings) {
           resolve(self._dataTableAjaxCall(data, callback, settings));
         },
+        columns : self.getColumnsDefinition(),
       });
     });
   } else {
@@ -127,6 +134,22 @@ PublicationListDialog.prototype.show = function() {
 
 };
 
+PublicationListDialog.prototype.getColumnsDefinition = function() {
+  return [ {
+    name : "pubmedId"
+  }, {
+    name : "authors"
+  }, {
+    name : "journal"
+  }, {
+    name : "year"
+  }, {
+    orderable : false,
+    searchable : false,
+    name : "elemnts"
+  } ]
+};
+
 PublicationListDialog.prototype.destroy = function() {
   $(this.getElement()).dialog("destroy");
 };
diff --git a/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js b/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
index 7810667ba34218ff4e271aeb29df707bfbec4e54..33f51cd8446f7f16b583b0bd5f3ceca8a91ac0ed 100644
--- a/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/PublicationListDialog-test.js
@@ -36,7 +36,9 @@ describe('PublicationListDialog', function() {
       });
       return dialog._dataTableAjaxCall({
         start : 0,
-        length : 10
+        length : 10,
+        order: [ { column: 0, dir: 'asc' } ],
+        search: { value: '', regex: false }
       }, function(){
         callbackCalled = true;
       });
diff --git a/frontend-js/testFiles/apiCalls/projects/sample/models/all/publications/length=10&sortColumn=pubmedId&sortOrder=asc&start=0&token=MOCK_TOKEN_ID& b/frontend-js/testFiles/apiCalls/projects/sample/models/all/publications/length=10&sortColumn=pubmedId&sortOrder=asc&start=0&token=MOCK_TOKEN_ID&
new file mode 100644
index 0000000000000000000000000000000000000000..c4097f530ab19da4e3edd91af4671cbefe2bf98b
--- /dev/null
+++ b/frontend-js/testFiles/apiCalls/projects/sample/models/all/publications/length=10&sortColumn=pubmedId&sortOrder=asc&start=0&token=MOCK_TOKEN_ID&
@@ -0,0 +1 @@
+{"totalSize":1,"data":[{"elements":[{"modelId":15781,"id":153508,"type":"REACTION"}],"publication":{"resource":"123","link":"http://www.ncbi.nlm.nih.gov/pubmed/123","id":860355,"type":"PUBMED","article":{"title":"The importance of an innervated and intact antrum and pylorus in preventing postoperative duodenogastric reflux and gastritis.","authors":["Keighley MR"," Asquith P"," Edwards JA"," Alexander-Williams J."],"journal":"The British journal of surgery","year":1975,"link":"http://www.ncbi.nlm.nih.gov/pubmed/123","id":"123","citationCount":12,"stringAuthors":"Keighley MR,  Asquith P,  Edwards JA,  Alexander-Williams J."}}}],"start":0,"length":1}
\ No newline at end of file