diff --git a/follow.module b/follow.module
index 38c20cb..939c25a 100644
--- a/follow.module
+++ b/follow.module
@@ -29,8 +29,14 @@ function follow_help($path, $arg) {
 function follow_init() {
   // Switch the Follow icon style.
   $style = variable_get('follow_icon_style', 'small');
-  $path = drupal_get_path('module', 'follow') . '/icons/';
-  drupal_add_css($path . $style . '.css');
+  // If using a custom style, add the CSS file
+  if ($style == '#custom' && ($path_to_css = variable_get('follow_icon_style_path', '')) !== '') {
+    drupal_add_css($path_to_css);
+  }
+  else {
+    $path = drupal_get_path('module', 'follow') . '/icons/';
+    drupal_add_css($path . $style . '.css');
+  }
 }
 
 /**
@@ -419,11 +425,27 @@ function follow_links_form($form, &$form_state, $uid = 0) {
       'wpzoom26' => t('WPZOOM 26x'),
       'wpzoom38' => t('WPZOOM 38x'),
       'paulrobertlloyd32' => t('Paul Robert Lloyd 32x32'),
+      '#custom' => t('Custom (specify path)')
     ),
     '#description' => t('How the Follow icons should appear.'),
     '#default_value' => variable_get('follow_icon_style', 'small'),
     '#access' => $uid < 1, // Only show on the global Follow administration.
   );
+  $form['follow_icon_style_custom'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Path to icon CSS file'),
+    '#description' => t('Specify the path of the CSS file for the icon style. Example: sites/all/themes/garland/icons/medium_circle.css'),
+    '#size' => 60,
+    '#maxlength' => 255,
+    '#default_value' => variable_get('follow_icon_style_path', ''),
+    '#states' => array(
+      // Hide this field until they choose Custom
+      'visible' => array(
+        ':input[name="follow_icon_style"]' => array('value' => '#custom'),
+      ),
+    ),
+  );
+
 
   // Allow changing which icon style to use on the global service links.
   $form['follow_alignment'] = array(
@@ -627,8 +649,17 @@ function follow_links_form_submit($form, &$form_state) {
 
   // Save the Follow icon style.
   $icon_style = $values['follow_icon_style'];
-  if (in_array($icon_style, array('small', 'large', 'wpzoom26', 'wpzoom38', 'paulrobertlloyd32'))) {
+  if (in_array($icon_style, array('small', 'large', 'wpzoom26', 'wpzoom38', 'paulrobertlloyd32', '#custom'))) {
     variable_set('follow_icon_style', $icon_style);
+
+    // If using a custom icon style, save the path to the CSS file
+    if ($icon_style == '#custom') {
+      variable_set('follow_icon_style_path', $values['follow_icon_style_custom']);
+    }
+    else {
+      // Not using a custom style, delete the unused variable
+      variable_del('follow_icon_style_path');
+    }
   }
 
   // Save the Follow alignment.
