diff --git a/web/api/src/test/java/org/onosproject/rest/MetersResourceTest.java b/web/api/src/test/java/org/onosproject/rest/MetersResourceTest.java
index fb027d1..21ca646 100644
--- a/web/api/src/test/java/org/onosproject/rest/MetersResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/MetersResourceTest.java
@@ -46,6 +46,7 @@
 import org.onosproject.net.meter.MeterId;
 import org.onosproject.net.meter.MeterService;
 import org.onosproject.net.meter.MeterState;
+import org.onosproject.rest.resources.CoreWebApplication;
 
 import javax.ws.rs.core.MediaType;
 import java.io.InputStream;
@@ -66,6 +67,7 @@
 import static org.easymock.EasyMock.verify;
 import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertThat;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.onosproject.net.NetTestTools.APP_ID;
@@ -94,6 +96,10 @@
     final MockMeter meter4 = new MockMeter(deviceId2, 4, 444, 4);
     final MockMeter meter5 = new MockMeter(deviceId3, 5, 555, 5);
 
+    public MetersResourceTest() {
+        super(CoreWebApplication.class);
+    }
+
     /**
      * Mock class for a meter.
      */
@@ -446,6 +452,24 @@
     }
 
     /**
+     * Test whether the REST API returns 404 if no entry has been found.
+     */
+    @Test
+    public void testMeterByDeviceIdAndMeterId() {
+        setupMockMeters();
+
+        expect(mockMeterService.getMeter(anyObject(), anyObject()))
+                .andReturn(null).anyTimes();
+        replay(mockMeterService);
+
+        final WebResource rs = resource();
+        final ClientResponse response = rs.path("meters/" + deviceId3.toString()
+                + "/" + "888").get(ClientResponse.class);
+
+        assertEquals(404, response.getStatus());
+    }
+
+    /**
      * Tests creating a meter with POST.
      */
     @Test
