diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaController.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaController.java
index 2788f4f1c33e4adb8a772611077d08309eb56dea..c966af20e49776f0a8fba55e50415959b4fc886e 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaController.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaController.java
@@ -8,8 +8,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import lcsb.mapviewer.annotation.services.MiRNASearchException;
-import lcsb.mapviewer.api.BaseController;
-import lcsb.mapviewer.api.QueryException;
+import lcsb.mapviewer.api.*;
 
 @RestController
 @RequestMapping(value = "/projects/{projectId}/", produces = MediaType.APPLICATION_JSON_VALUE)
@@ -43,7 +42,7 @@ public class MiRnaController extends BaseController {
   @PreAuthorize("hasAnyAuthority('IS_ADMIN', 'READ_PROJECT:' + #projectId)")
   @GetMapping(value = "miRnas/suggestedQueryList")
   public List<String> getSuggestedQueryList(@PathVariable(value = "projectId") String projectId)
-      throws MiRNASearchException {
+      throws MiRNASearchException, ObjectNotFoundException {
     return miRnaController.getSuggestedQueryList(projectId);
   }
 
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
index 82250cbc06f0e4d42be597685e4683ada869113a..16afb53e4b06cb11e11c0de95af3b8f3ea89ef5c 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/projects/mirnas/MiRnaRestImpl.java
@@ -42,7 +42,7 @@ public class MiRnaRestImpl extends BaseRestImpl {
       throws QueryException {
     Model model = getModelService().getLastModelByProjectId(projectId);
     if (model == null) {
-      throw new QueryException("Project with given id doesn't exist");
+      throw new ObjectNotFoundException("Project with given id doesn't exist");
     }
     Project project = getProjectService().getProjectByProjectId(projectId);
 
@@ -103,7 +103,7 @@ public class MiRnaRestImpl extends BaseRestImpl {
       String columns) throws QueryException {
     Model model = getModelService().getLastModelByProjectId(projectId);
     if (model == null) {
-      throw new QueryException("Project with given id doesn't exist");
+      throw new ObjectNotFoundException("Project with given id doesn't exist");
     }
     Project project = getProjectService().getProjectByProjectId(projectId);
 
@@ -144,8 +144,11 @@ public class MiRnaRestImpl extends BaseRestImpl {
     return result;
   }
 
-  public List<String> getSuggestedQueryList(String projectId) throws MiRNASearchException {
+  public List<String> getSuggestedQueryList(String projectId) throws MiRNASearchException, ObjectNotFoundException {
     Project project = getProjectService().getProjectByProjectId(projectId);
+    if (project == null) {
+      throw new ObjectNotFoundException("Project with given id doesn't exist");
+    }
     return miRNAParser.getSuggestedQueryList(project);
   }
 
diff --git a/web/src/test/java/lcsb/mapviewer/web/MiRnaControllerIntegrationTest.java b/web/src/test/java/lcsb/mapviewer/web/MiRnaControllerIntegrationTest.java
index 92b63aad1745a7666c4c6372606c37099bd4f5ba..68c606137dc4e15984f23ea11ed241e2ad4cfba1 100644
--- a/web/src/test/java/lcsb/mapviewer/web/MiRnaControllerIntegrationTest.java
+++ b/web/src/test/java/lcsb/mapviewer/web/MiRnaControllerIntegrationTest.java
@@ -50,6 +50,30 @@ public class MiRnaControllerIntegrationTest extends ControllerIntegrationTest {
         .andExpect(status().is2xxSuccessful());
   }
 
+  @Test
+  public void testSearchMiRnasInUndefinedProject() throws Exception {
+    MockHttpSession session = createSession(TEST_ADMIN_LOGIN, TEST_ADMIN_PASSWORD);
+
+    RequestBuilder request = get("/projects/*/miRnas:search?query=xyz")
+        .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+        .session(session);
+
+    mockMvc.perform(request)
+        .andExpect(status().isNotFound());
+  }
+
+  @Test
+  public void testSearchMiRnasByTargetInUndefinedProject() throws Exception {
+    MockHttpSession session = createSession(TEST_ADMIN_LOGIN, TEST_ADMIN_PASSWORD);
+
+    RequestBuilder request = get("/projects/*/miRnas:search?target=ALIAS:123")
+        .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+        .session(session);
+
+    mockMvc.perform(request)
+        .andExpect(status().isNotFound());
+  }
+
   @Test
   public void testGetSuggestedList() throws Exception {
     MockHttpSession session = createSession(TEST_ADMIN_LOGIN, TEST_ADMIN_PASSWORD);
@@ -61,5 +85,17 @@ public class MiRnaControllerIntegrationTest extends ControllerIntegrationTest {
     mockMvc.perform(request)
         .andExpect(status().is2xxSuccessful());
   }
+  
+  @Test
+  public void testGetSuggestedListForUndefinedProject() throws Exception {
+    MockHttpSession session = createSession(TEST_ADMIN_LOGIN, TEST_ADMIN_PASSWORD);
+
+    RequestBuilder request = get("/projects/*/miRnas/suggestedQueryList")
+        .contentType(MediaType.APPLICATION_FORM_URLENCODED)
+        .session(session);
+
+    mockMvc.perform(request)
+        .andExpect(status().isNotFound());
+  }
 
 }