diff --git a/src/test/java/com/intel/jndn/management/NfdcIT.java b/src/test/java/com/intel/jndn/management/NfdcIT.java
index 39750c0..350c79a 100644
--- a/src/test/java/com/intel/jndn/management/NfdcIT.java
+++ b/src/test/java/com/intel/jndn/management/NfdcIT.java
@@ -82,7 +82,7 @@
   public void testFailOfGetKeyLocator() throws Exception {
     mockFace.onSendInterest.add(new MockFace.SignalOnSendInterest() {
       @Override
-      public void emit(final Interest interest) throws EncodingException, SecurityException {
+      public void emit(final Interest interest) {
         Data data = new Data();
         data.setName(new Name(interest.getName()).appendVersion(0).appendSegment(0));
 
@@ -95,8 +95,11 @@
         LOG.info(data.getSignature().toString());
 
         // don't set anything else
-
-        mockFace.receive(data);
+        try {
+          mockFace.receive(data);
+        } catch (EncodingException e) {
+          LOG.severe("Failed to set receive data: " + e);
+        }
       }
     });
 
@@ -234,7 +237,7 @@
 
     mockFace.onSendInterest.add(new MockFace.SignalOnSendInterest() {
       @Override
-      public void emit(final Interest interest) throws EncodingException, SecurityException {
+      public void emit(final Interest interest) {
         ControlResponse response = new ControlResponse();
         response.setStatusCode(300);
         response.setStatusText("Test FAIL");
@@ -243,7 +246,11 @@
         data.setName(interest.getName());
         data.setContent(response.wireEncode());
 
-        mockFace.receive(data);
+        try {
+          mockFace.receive(data);
+        } catch (EncodingException e) {
+          LOG.severe("Failed to set receive data: " + e);
+        }
       }
     });
     Nfdc.setStrategy(mockFace, new Name("/"), Strategies.BROADCAST);
