diff --git a/wysiwyg.admin.inc b/wysiwyg.admin.inc
index 8f12bf0..f0686b9 100644
--- a/wysiwyg.admin.inc
+++ b/wysiwyg.admin.inc
@@ -299,6 +299,12 @@ function wysiwyg_profile_form($form, &$form_state, $profile) {
     '#weight' => 110,
   );
 
+  // Allow editor specific changes to be made to the form before Drupal passes
+  // it to the hook_form_alter().
+  if (function_exists($editor['settings form callback'])) {
+    $editor['settings form callback']($form, $form_state);
+  }
+
   return $form;
 }
 
diff --git a/wysiwyg.module b/wysiwyg.module
index 8191b5f..ec483e0 100644
--- a/wysiwyg.module
+++ b/wysiwyg.module
@@ -812,6 +812,7 @@ function wysiwyg_get_all_editors() {
       'libraries' => array(),
       'version callback' => NULL,
       'themes callback' => NULL,
+      'settings form callback' => NULL,
       'settings callback' => NULL,
       'plugin callback' => NULL,
       'plugin settings callback' => NULL,
