diff --git a/lib/ice4j.jar b/lib/ice4j.jar
index 2c69673d37b4b6e98e60a3ba8d6f48a2ae998426..443d0847efc6e8c1daa9ea9615e823f35a88fd08 100644
Binary files a/lib/ice4j.jar and b/lib/ice4j.jar differ
diff --git a/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java b/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java
index 541229a9f35fef13298e5e138256d104a968b998..4a81ff7e99e5571210a5fad0640646f739f9b341 100644
--- a/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java
+++ b/src/org/jitsi/impl/neomedia/RTPConnectorUDPInputStream.java
@@ -21,15 +21,18 @@
 public class RTPConnectorUDPInputStream
     extends RTPConnectorInputStream
 {
+
     /**
-     * UDP socket used to receive data.
+     * The indicator which determine whether
+     * {@link DatagramSocket#setReceiveBufferSize(int)} has been invoked on
+     * {@link #socket}.
      */
-    private final DatagramSocket socket;
+    private boolean setReceiveBufferSize = false;
 
     /**
-     * Receive size configured flag.
+     * UDP socket used to receive data.
      */
-    private boolean receivedSizeFlag = false;
+    private final DatagramSocket socket;
 
     /**
      * Initializes a new <tt>RTPConnectorInputStream</tt> which is to receive
@@ -104,16 +107,17 @@ protected void doLogPacket(DatagramPacket p)
     protected void receivePacket(DatagramPacket p)
         throws IOException
     {
-        if(!receivedSizeFlag)
+        if (!setReceiveBufferSize)
         {
-            receivedSizeFlag = true;
-
+            setReceiveBufferSize = true;
             try
             {
                 socket.setReceiveBufferSize(65535);
             }
-            catch(Throwable t)
+            catch (Throwable t)
             {
+                if (t instanceof ThreadDeath)
+                    throw (ThreadDeath) t;
             }
         }
         socket.receive(p);
diff --git a/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java b/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java
index 4a80698edb770b65e4d38437c597b197c64dba81..a7064edf4d914eb2040b6010a6cf9b04252b73a1 100644
--- a/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java
+++ b/src/org/jitsi/impl/neomedia/transform/dtls/DatagramTransportImpl.java
@@ -302,6 +302,7 @@ public int receive(byte[] buf, int off, int len, int waitMillis)
         }
         if (interrupted)
             Thread.currentThread().interrupt();
+
         return received;
     }