diff --git a/external/PF_RING-6.0.2/userland/lib/pfring_mod.c b/external/PF_RING-6.0.2/userland/lib/pfring_mod.c
index 84d53b1..0ff03c6 100644
--- a/external/PF_RING-6.0.2/userland/lib/pfring_mod.c
+++ b/external/PF_RING-6.0.2/userland/lib/pfring_mod.c
@@ -294,6 +294,8 @@ int pfring_mod_bind(pfring *ring, char *device_name) {
   char *at, *elem, name_copy[256];
   u_int32_t channel_mask = RING_ANY_CHANNEL;
   int rc = 0;
+  // dpd - FIX for non threadsafe strtok
+  char *saveptr;
 
   if((device_name == NULL) || (strcmp(device_name, "none") == 0))
     return(-1);
@@ -338,7 +340,7 @@ int pfring_mod_bind(pfring *ring, char *device_name) {
   ring->sock_tx.sll_protocol = htons(ETH_P_ALL);
 
   snprintf(name_copy, sizeof(name_copy), "%s", device_name);
-  elem = strtok(name_copy, ";,");
+  elem = strtok_r(name_copy, ";,", &saveptr);
 
   while(elem != NULL) {
     memset(&sa, 0, sizeof(sa));
@@ -358,7 +360,7 @@ int pfring_mod_bind(pfring *ring, char *device_name) {
 
     pfring_enable_hw_timestamp(ring, elem, ring->hw_ts.enable_hw_timestamp ? 1 : 0, 0 /* TX timestamp disabled by default */);
 
-    elem = strtok(NULL, ";,");
+    elem = strtok_r(NULL, ";,", &saveptr);
   }
 
   return(rc);
diff --git a/external/PF_RING-6.0.2/userland/lib/pfring_utils.c b/external/PF_RING-6.0.2/userland/lib/pfring_utils.c
index 29feb82..a52ab50 100644
--- a/external/PF_RING-6.0.2/userland/lib/pfring_utils.c
+++ b/external/PF_RING-6.0.2/userland/lib/pfring_utils.c
@@ -685,9 +685,11 @@ static int pfring_promisc(const char *device, int set_promisc) {
 int pfring_set_if_promisc(const char *device, int set_promisc) {
   char name_copy[256], *elem;
   int ret = 0;
+  // dpd - FIX for non threadsafe strtok
+  char *saveptr;
 
   snprintf(name_copy, sizeof(name_copy), "%s", device);
-  elem = strtok(name_copy, ";,");
+  elem = strtok_r(name_copy, ";,", &saveptr);
 
   while(elem != NULL) {
     char *at = strchr(elem, '@');
@@ -698,7 +700,7 @@ int pfring_set_if_promisc(const char *device, int set_promisc) {
 
     if(ret < 0) return(ret);
 
-    elem = strtok(NULL, ";,");
+    elem = strtok_r(NULL, ";,", &saveptr);
   }
 
   return(ret);
