diff --git a/skinr.module b/skinr.module
index e6cd7c687907e473dab06e842768e22b4351178e..07699af021ebf86ef39880676eedd9bebcf384e0 100644
--- a/skinr.module
+++ b/skinr.module
@@ -1280,6 +1280,7 @@ function skinr_get_skin_info() {
           $hooks["{$name}_skinr_skin_{$plugin}_info"] = array(
             // The source path for a plugin is the plugin directory.
             'path' => $dir . '/' . basename(dirname($file->uri)),
+            'filename' => $file->filename,
           ) + $extension;
         }
       }
@@ -1336,6 +1337,7 @@ function skinr_get_group_info() {
           $hooks["{$name}_skinr_group_{$plugin}_info"] = array(
             // The source path for a plugin is the plugin directory.
             'path' => $dir . '/' . basename(dirname($file->uri)),
+            'filename' => $file->filename,
           ) + $extension;
         }
       }
diff --git a/skinr_ui.module b/skinr_ui.module
index b46ba883a12aec130878d96011251225ae805a83..6bd439271a21795b8e5367a1e3fb57bb7032bad0 100644
--- a/skinr_ui.module
+++ b/skinr_ui.module
@@ -488,8 +488,23 @@ function skinr_ui_form_alter(&$form, $form_state, $form_id) {
 
       // Create widget.
       $field = array();
-      if (!empty($skin_info['form callback']) && function_exists($skin_info['form callback'])) {
-        // @todo Allow for custom form callbacks.
+      if (!empty($skin_info['form callback'])) {
+        // Process custom form callbacks.
+
+        // Load include file.
+        if (!empty($skin_info['source']['filename'])) {
+          skinr_load_include($skin_info['source']['path'] . '/' . $skin_info['source']['filename']);
+        }
+
+        // Execute form callback.
+        if (function_exists($skin_info['form callback'])) {
+          $context = array(
+            'theme' => $theme->name,
+            'skin_name' => $skin_name,
+            'skin_info' => $skin_info,
+          );
+          $field = $skin_info['form callback']($form, &$form_state, $context);
+        }
       }
       else {
         switch ($skin_info['type']) {
