diff --git a/includes/imagecache.inc b/includes/imagecache.inc
index 2a706cc..824be67 100644
--- a/includes/imagecache.inc
+++ b/includes/imagecache.inc
@@ -31,12 +31,8 @@ function imagecache_insert_content($item, $style, $widget) {
  * Theme the content that will be inserted for ImageCache presets.
  */
 function template_preprocess_imagecache_insert_image(&$vars) {
-  // This variable has no configuration location. It may be set by placing
-  // $conf['insert_absolute_paths'] = FALSE;
-  // in the site settings.php file, or by manually running variable_set().
-  // For reasons why this might not do what you want and why there's no UI
-  // see http://drupal.org/node/640352.
-  $absolute = (bool) variable_get('insert_absolute_paths', TRUE);
+  $absolute = isset($vars['widget']['insert_absolute']) ? $vars['widget']['insert_absolute'] : NULL;
+  $absolute = (bool) (isset($absolute) ? $absolute : variable_get('insert_absolute_paths', FALSE));
   $vars['url'] = imagecache_create_url($vars['preset_name'], $vars['item']['filepath'], FALSE, $absolute);
   $vars['class'] = !empty($vars['widget']['insert_class']) ? $vars['widget']['insert_class'] : '';
 }
diff --git a/includes/insert.inc b/includes/insert.inc
index 1694b52..80a3ea9 100644
--- a/includes/insert.inc
+++ b/includes/insert.inc
@@ -45,7 +45,8 @@ function insert_insert_content($item, $style, $widget) {
  * Preprocess variables for the insert-image.tpl.php file.
  */
 function template_preprocess_insert_image(&$vars) {
-  $vars['url'] = insert_create_url($vars['item']['filepath']);
+  $absolute = isset($vars['widget']['insert_absolute']) ? $vars['widget']['insert_absolute'] : NULL;
+  $vars['url'] = insert_create_url($vars['item']['filepath'], $absolute);
   $vars['class'] = !empty($vars['widget']['insert_class']) ? $vars['widget']['insert_class'] : '';
   $image_info = @image_get_info($vars['item']['filepath']);
   $vars['width'] = isset($image_info['width']) ? $image_info['width'] : '';
@@ -56,7 +57,8 @@ function template_preprocess_insert_image(&$vars) {
  * Preprocess variables for the insert-link.tpl.php file.
  */
 function template_preprocess_insert_link(&$vars) {
-  $vars['url'] = insert_create_url($vars['item']['filepath']);
+  $absolute = isset($vars['widget']['insert_absolute']) ? $vars['widget']['insert_absolute'] : NULL;
+  $vars['url'] = insert_create_url($vars['item']['filepath'], $absolute);
   $vars['class'] = !empty($vars['widget']['insert_class']) ? $vars['widget']['insert_class'] : '';
   $vars['name'] = $vars['item']['filename'];
 }
@@ -65,7 +67,8 @@ function template_preprocess_insert_link(&$vars) {
  * Preprocess variables for the insert-icon-link.tpl.php file.
  */
 function template_preprocess_insert_icon_link(&$vars) {
-  $vars['url'] = insert_create_url($vars['item']['filepath']);
+  $absolute = isset($vars['widget']['insert_absolute']) ? $vars['widget']['insert_absolute'] : NULL;
+  $vars['url'] = insert_create_url($vars['item']['filepath'], $absolute);
   $vars['class'] = !empty($vars['widget']['insert_class']) ? $vars['widget']['insert_class'] : '';
   $vars['name'] = $vars['item']['filename'];
   $vars['type'] = $vars['item']['filemime'] .'; length='. $vars['item']['filesize'];
diff --git a/insert.module b/insert.module
index 79e4ec5..79dbb51 100644
--- a/insert.module
+++ b/insert.module
@@ -277,6 +277,7 @@ function insert_widget_settings_alter(&$settings, $op, $widget) {
 function insert_widget_settings() {
   return array(
     'insert',
+    'insert_absolute',
     'insert_styles',
     'insert_default',
     'insert_class',
@@ -306,6 +307,14 @@ function insert_widget_form($widget) {
     '#weight' => -10,
   );
 
+  $form['insert']['insert_absolute'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use absolute paths'),
+    '#default_value' => isset($widget['insert_absolute']) ? $widget['insert_absolute'] : variable_get('insert_absolute_paths', FALSE),
+    '#description' => t('Includes the full URL prefix "@base_url" in all links and image tags.', array('@base_url' => $GLOBALS['base_url'])),
+    '#weight' => -9,
+  );
+
   $form['insert']['insert_styles'] = array(
     '#title' => t('Enabled insert styles'),
     '#type' => 'checkboxes',
@@ -382,7 +391,7 @@ function theme_insert_field_widget_settings_styles($element) {
  * will consistently use absolute or relative URLs, depending on the Insert
  * setting.
  */
-function insert_create_url($path) {
+function insert_create_url($path, $absolute = NULL) {
   // Strip file_directory_path from $path. We only include relative paths in urls.
   if (strpos($path, file_directory_path() .'/') === 0) {
     $path = trim(substr($path, strlen(file_directory_path())), '\\/');
@@ -394,13 +403,7 @@ function insert_create_url($path) {
     $pieces[$part] = rawurlencode($piece);
   }
   $path = implode('/', $pieces);
-
-  // This variable has no configuration location. It may be set by placing
-  // $conf['insert_absolute_paths'] = FALSE;
-  // in the site settings.php file, or by manually running variable_set().
-  // For reasons why this might not do what you want and why there's no UI
-  // see http://drupal.org/node/640352.
-  $absolute = variable_get('insert_absolute_paths', TRUE);
+  $absolute = isset($absolute) ? $absolute : variable_get('insert_absolute_paths', FALSE);
 
   switch (variable_get('file_downloads', FILE_DOWNLOADS_PUBLIC)) {
     case FILE_DOWNLOADS_PUBLIC:
