diff --git a/twitter_post/twitter_post.module b/twitter_post/twitter_post.module
index da7bca0..0c59bcb 100644
--- a/twitter_post/twitter_post.module
+++ b/twitter_post/twitter_post.module
@@ -58,7 +58,20 @@ function twitter_post_form_alter(&$form, $form_state, $form_id) {
     );
     $form['twitter'] += $twitter_form;
     $form['twitter']['status']['#default_value'] = variable_get('twitter_post_default_format', 'New post: !title !tinyurl');
-    $form['twitter']['status']['#description'] = t('The given text will be posted to twitter.com. You can use !url, !url-alias, !tinyurl, !title and !user as replacement text.');
+    $form['twitter']['status']['#description'] = t('The given text will be posted to twitter.com. You can use !url, !url-alias, !tinyurl, !title and !user as replacement text.  If the token module is enabled, you may also choose from the tokens listed in the replacement patterns section.');
+    if (module_exists('token')) {
+      $form['twitter']['token_help'] = array(
+        '#title' => t('Replacement patterns'),
+        '#type' => 'fieldset',
+        '#collapsible' => TRUE,
+        '#collapsed' => TRUE,
+        '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+      );
+
+      $form['twitter']['token_help']['help'] = array(
+        '#value' => theme('token_help', 'node'),
+      );
+    }
   }
 }
 
@@ -87,6 +100,12 @@ function twitter_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
         }
 
         $status = strtr($node->twitter['status'], $replacements);
+
+        // If token module is available, process status to do the token replacement
+        if (module_exists('token')) {
+          $status = token_replace($status, 'node', $node);
+        }
+
         try {
           $result = twitter_set_status($twitter_account, $status);
           
diff --git a/twitter_post/twitter_post.pages.inc b/twitter_post/twitter_post.pages.inc
index bac161a..727431e 100644
--- a/twitter_post/twitter_post.pages.inc
+++ b/twitter_post/twitter_post.pages.inc
@@ -15,9 +15,22 @@ function twitter_post_admin_settings() {
     '#type' => 'textfield',
     '#title' => t('Default format string'),
     '#maxlength' => 140,
-    '#description' => t('The given text will be posted to twitter.com. You can use !url, !url-alias, !tinyurl, !title, and !user as replacement text.'),
+    '#description' => t('The given text will be posted to twitter.com. You can use !url, !url-alias, !tinyurl, !title, and !user as replacement text.  If the token module is enabled, you may also choose from the tokens listed in the replacement patterns section.'),
     '#default_value' => variable_get('twitter_post_default_format', 'New post: !title !tinyurl'),
   );
+  if (module_exists('token')) {
+    $form['view']['token_help'] = array(
+      '#title' => t('Replacement patterns'),
+      '#type' => 'fieldset',
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+      '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+    );
+
+    $form['view']['token_help']['help'] = array(
+      '#value' => theme('token_help', 'node'),
+    );
+  }
 
   return system_settings_form($form);  
 }
