diff --git a/field_default_token.module b/field_default_token.module
index 812e408..c08a654 100644
--- a/field_default_token.module
+++ b/field_default_token.module
@@ -13,14 +13,14 @@ function field_default_token_field_update_instance($instance, $prior_instance) {
   if (!empty($instance['default_value'])) {
     foreach ($instance['default_value'] as $values) {
       if (!is_array($values)) {
-        if (strpos($values, '[') !== FALSE) {
+        if (token_scan($values)) {
           $has_tokens = TRUE;
         }
       }
       else {
         foreach ($values as $value) {
           if (!is_array($value)) {
-            if (strpos($value, '[') !== FALSE) {
+            if (token_scan($value)) {
               $has_tokens = TRUE;
             }
           }
@@ -30,7 +30,7 @@ function field_default_token_field_update_instance($instance, $prior_instance) {
                 // Complex fields such as Table Field contain a structure inside the value, skip them.
                 continue;
               }
-              if (strpos($column_value, '[') !== FALSE) {
+              if (token_scan($column_value)) {
                 $has_tokens = TRUE;
               }
             }
@@ -132,7 +132,7 @@ function field_default_token_form_field_ui_field_edit_form_alter(&$form, &$form_
     if (!empty($instance['default_value'])) {
       foreach ($instance['default_value'] as $values) {
         foreach ($values as $value) {
-          if (strpos($value, '[') !== FALSE) {
+          if (token_scan($value)) {
             $default_value = $value;
           }
         }
@@ -320,7 +320,7 @@ function field_default_token_field_ui_field_edit_form_validate($form, &$form_sta
       if (is_array($item)) {
         foreach ($item as $value) {
           if (is_scalar($value)) {
-            if (strpos($value, '[') !== FALSE) {
+            if (token_scan($value)) {
               // Token in default value, do not validate.
               return;
             }
@@ -352,7 +352,7 @@ function field_default_token_field_ui_field_edit_form_validate($form, &$form_sta
  */
 function field_default_token_number_field_widget_validate($element, &$form_state) {
   $value = $element['#value'];
-  if (strpos($value, '[') !== FALSE) {
+  if (token_scan($value)) {
     // Token in default value, do not validate.
     return;
   }
diff --git a/plugins/behavior/FieldDefaultTokenEmptyAlter.class.php b/plugins/behavior/FieldDefaultTokenEmptyAlter.class.php
index 7668fd0..d21a9df 100644
--- a/plugins/behavior/FieldDefaultTokenEmptyAlter.class.php
+++ b/plugins/behavior/FieldDefaultTokenEmptyAlter.class.php
@@ -15,7 +15,7 @@ class FieldDefaultTokenEmptyAlter extends EntityReference_BehaviorHandler_Abstra
    */
   public function is_empty_alter(&$empty, $item, $field) {
     // If field value contains tokens, entityreference.module treats it as empty.
-    if (($empty) && (isset($item['target_id'])) && (strpos($item['target_id'], '[') !== FALSE)) {
+    if (($empty) && (isset($item['target_id'])) && (token_scan($item['target_id']))) {
       $empty = FALSE;
     }
   }
