diff --git a/README.txt b/README.txt
index 33c0df9d8dfe323fa9c367579d12727ae648b7a7..b0cad5f01129964a21cfba103e0d9c18e67761b8 100644
--- a/README.txt
+++ b/README.txt
@@ -62,3 +62,4 @@ v1.0.0 -> January 2019. This version first implements the architectural split de
             New tools: config library, telnet server, ...
             A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
 v1.0.1 -> February 2019: Bug fix for the UE L1 simulator.
+v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD
diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
index f3094a4baaa78c32942a1450098c60443c2a194b..bfdc80f9b5462af1997933c0f7f6857359a5c100 100644
--- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -28,7 +28,12 @@
 #include <pthread.h>
 #include <unistd.h>
 #include <stdio.h>
+#include <uhd/version.hpp>
+#if UHD_VERSION < 3110000
 #include <uhd/utils/thread_priority.hpp>
+#else
+#include <uhd/utils/thread.hpp>
+#endif
 #include <uhd/usrp/multi_usrp.hpp>
 #include <uhd/version.hpp>
 #include <boost/lexical_cast.hpp>
@@ -183,7 +188,7 @@ static int sync_to_gps(openair0_device *device) {
         num_gps_locked++;
         std::cout << boost::format("GPS Locked\n");
       } else {
-        std::cerr << "WARNING:  GPS not locked - time will not be accurate until locked" << std::endl;
+        LOG_W(HW,"WARNING:  GPS not locked - time will not be accurate until locked\n");
       }
 
       //Set to GPS time
@@ -724,6 +729,7 @@ void *freq_thread(void *arg) {
   usrp_state_t *s = (usrp_state_t *)device->priv;
   s->usrp->set_tx_freq(device->openair0_cfg[0].tx_freq[0]);
   s->usrp->set_rx_freq(device->openair0_cfg[0].rx_freq[0]);
+  return NULL;
 }
 /*! \brief Set frequencies (TX/RX). Spawns a thread to handle the frequency change to not block the calling thread
  * \param device the hardware to use
@@ -1073,16 +1079,16 @@ extern "C" {
       uhd::device_addrs_t device_adds = uhd::device::find(args);
 
       if (device_adds.size() == 0) {
-        std::cerr<<"No USRP Device Found. " << std::endl;
+        LOG_E(HW,"No USRP Device Found.\n ");
         free(s);
         return -1;
       } else if (device_adds.size() > 1) {
-        std::cerr<<"More than one USRP Device Found. Please specify device more precisely in config file." << std::endl;
+        LOG_E(HW,"More than one USRP Device Found. Please specify device more precisely in config file.\n");
 	free(s);
 	return -1;
       }
 
-      std::cerr << "Found USRP " << device_adds[0].get("type") << "\n";
+      LOG_I(HW,"Found USRP %s\n", device_adds[0].get("type").c_str());
       double usrp_master_clock;
 
       if (device_adds[0].get("type") == "b200") {
@@ -1090,7 +1096,7 @@ extern "C" {
         device->type = USRP_B200_DEV;
         usrp_master_clock = 30.72e6;
         args += boost::str(boost::format(",master_clock_rate=%f") % usrp_master_clock);
-        args += ",num_send_frames=256,num_recv_frames=256, send_frame_size=15360, recv_frame_size=15360" ;
+        args += ",num_send_frames=256,num_recv_frames=256, send_frame_size=7680, recv_frame_size=7680" ;
       }
 
       if (device_adds[0].get("type") == "n3xx") {
@@ -1287,8 +1293,9 @@ extern "C" {
       samples/=10000;
       LOG_I(PHY,"RF board max packet size %u, size for 100µs jitter %d \n", max, samples);
 
-      if ( samples < max )
+      if ( samples < max ) {
         stream_args_rx.args["spp"] = str(boost::format("%d") % samples );
+      }
 
       LOG_I(PHY,"rx_max_num_samps %zu\n",
             s->usrp->get_rx_stream(stream_args_rx)->get_max_num_samps());
diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c
index ce978d8b1affc2392d1aaf9639dbafb117e9c1a9..5ac8a77f872f0c84737bb3639b5b5af2f20ccf18 100644
--- a/targets/RT/USER/lte-ru.c
+++ b/targets/RT/USER/lte-ru.c
@@ -1,31 +1,23 @@
-/*******************************************************************************
-    OpenAirInterface
-    Copyright(c) 1999 - 2014 Eurecom
- 
-    OpenAirInterface is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-
-    OpenAirInterface is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenAirInterface.The full GNU General Public License is
-    included in this distribution in the file called "COPYING". If not,
-    see <http://www.gnu.org/licenses/>.
-
-   Contact Information
-   OpenAirInterface Admin: openair_admin@eurecom.fr
-   OpenAirInterface Tech : openair_tech@eurecom.fr
-   OpenAirInterface Dev  : openair4g-devel@lists.eurecom.fr
-
-   Address      : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
-
-*******************************************************************************/
+/*
+ * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The OpenAirInterface Software Alliance licenses this file to You under
+ * the OAI Public License, Version 1.1  (the "License"); you may not use this file
+ * except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.openairinterface.org/?page_id=698
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *-------------------------------------------------------------------------------
+ * For more information about the OpenAirInterface (OAI) Software Alliance:
+ *      contact@openairinterface.org
+ */
 
 /*! \file lte-enb.c
  * \brief Top-level threads for eNodeB