diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT
index 104fee9..b2fd050 100644
--- a/CHANGELOG.TXT
+++ b/CHANGELOG.TXT
@@ -1,5 +1,9 @@
 ****************************** DRUPAL 7 - 2.x BRANCH ********************************
 
+July 20, 2011
+-------------
+Added support for remote Cufón loading.
+
 June 22, 2011
 -------------
 Issue #1192188 by troky: Changed font search pattern from *.font.js to *.js
diff --git a/cufon.install b/cufon.install
index 4ba4233..4dcb88b 100644
--- a/cufon.install
+++ b/cufon.install
@@ -20,4 +20,5 @@ function cufon_install() {
 function cufon_uninstall() {
   // Variable(s) cleanup
   variable_del('cufon_selectors');
+  variable_del('cufon_remote_url');
 }
\ No newline at end of file
diff --git a/cufon.module b/cufon.module
index aec34b2..11ba84e 100644
--- a/cufon.module
+++ b/cufon.module
@@ -78,31 +78,53 @@ function theme_cufon_selectors($variables) {
 function cufon_init() {
   global $user;
   static $cufonLib;
+  $remote_url = variable_get('cufon_remote_url', '');
+
+  // If a remote URL is used and it's a valid absolute URL, use that.
+  if (strlen($remote_url) > 0) {
+    if (valid_url($remote_url, TRUE)) {
+      drupal_add_js($remote_url, 'external');
+    } else {
+      drupal_set_message(t('<strong>Cufón:</strong> You have provided an invalid absolute URL to Cufón library. Cufón has not been loaded.'), 'warning');
+    }
+  }
 
-  // search in theme folder first  for cufon-yui.js
-  $cufonLib = file_scan_directory(path_to_theme(), '/^cufon-yui.js$/', array('key' => 'name'));
+  // No remote URL used, so search for a local JS file.
+  else {
 
-  if (empty($cufonLib)) {
-    // search in module folder  for cufon-yui.js
-    $cufonLib = file_scan_directory(drupal_get_path('module', 'cufon'), '/^cufon-yui.js$/', array('key' => 'name'));
-  }
+    // Search in theme folder first for cufon-yui.js
+    $cufonLib = file_scan_directory(path_to_theme(), '/^cufon-yui.js$/', array('key' => 'name'));
 
-  if (empty($cufonLib)) {
-    // search in libraries folders for cufon-yui.js
-    $cufonLib = drupal_system_listing('/^cufon-yui.js$/', 'libraries/cufon', 'name', 0);
-  }
+    if (empty($cufonLib)) {
+      // Search in module folder for cufon-yui.js
+      $cufonLib = file_scan_directory(drupal_get_path('module', 'cufon'), '/^cufon-yui.js$/', array('key' => 'name'));
+    }
 
-  if (!isset($cufonLib['cufon-yui'])) {
-    // Show message only to cufon administrator(s).
-    if (user_access('administer cufon')) {
-      drupal_set_message(t('<strong>Cufón:</strong> You must download <a href="http://cufon.shoqolate.com/js/cufon-yui.js">cufon-yui.js</a> and install it to <code>libraries/cufon</code> folder.'), 'error');
+    if (empty($cufonLib)) {
+      // Search in libraries folders for cufon-yui.js
+      $cufonLib = drupal_system_listing('/^cufon-yui.js$/', 'libraries/cufon', 'name', 0);
     }
-    return;
-  }
 
-  // Include cufon library
-  drupal_add_js($cufonLib['cufon-yui']->uri, 'file');
+    if (empty($cufonLib)) {
+      // Include cufon library
+      drupal_add_js($cufonLib['cufon-yui']->uri, 'file');    
+    }
+
+    if (!isset($cufonLib['cufon-yui'])) {
+      // Show message only to cufon administrator(s).
+      if (user_access('administer cufon')) {
+        drupal_set_message(t('<strong>Cufón:</strong> You must download <a href="http://cufon.shoqolate.com/js/cufon-yui.js">cufon-yui.js</a> and install it to <code>libraries/cufon</code> folder.'), 'error');
+      }
+      return;
+    }
 
+    else {
+      // Include cufon library
+      drupal_add_js($cufonLib['cufon-yui']->uri, 'file');
+    }
+      
+  }
+  
   $selectors = variable_get('cufon_selectors', array());
 
   // Include only used fonts.
diff --git a/includes/cufon.admin.inc b/includes/cufon.admin.inc
index 61555a7..76afcf1 100644
--- a/includes/cufon.admin.inc
+++ b/includes/cufon.admin.inc
@@ -64,6 +64,15 @@ function cufon_admin($form, &$form_state)  {
   $form_state['cache'] = TRUE;
 
   $form['#tree'] = TRUE;
+  $form['cufon_remote_url'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Remote Cufón URL'),
+    '#prefix' => '<div id="cufon-remote-url-wrapper">',
+    '#suffix' => '</div>',
+    '#description' => 'Absolute URL to a remote Cufón JS file.  If left blank, you need to install Cufón locally (read the documentation on how to do that).',
+    '#default_value' => variable_get('cufon_remote_url', ''),
+  );
+
   $form['cufon_selectors'] = array(
     '#type' => 'fieldset',
     '#title' => t('Cufón selectors'),
@@ -157,6 +166,7 @@ function cufon_selector_js_callback($form, $form_state) {
  */
 function cufon_admin_submit($form, &$form_state) {
   $selectors = $form_state['values']['cufon_selectors']['selector'];
+  $remote_url = $form_state['values']['cufon_remote_url'];
 
   foreach ($selectors as $key => $item) {
     if (empty($item['selector'])) {
@@ -177,5 +187,6 @@ function cufon_admin_submit($form, &$form_state) {
   }
   
   variable_set('cufon_selectors', $selectors);
+  variable_set('cufon_remote_url', $remote_url);
   drupal_set_message(t('The configuration options have been saved.'));
 }
