diff --git a/wysiwyg.api.php b/wysiwyg.api.php
index c4d8857..e9f24c0 100644
--- a/wysiwyg.api.php
+++ b/wysiwyg.api.php
@@ -250,6 +250,16 @@ function hook_INCLUDE_editor() {
 }
 
 /**
+ * Alter editor definitions defined by other modules.
+ *
+ * @param array $editors
+ *    The Editors to alter
+ */
+function hook_editor_alter(&$editors) {
+  $editors['editor']['version callback'] = 'my_own_version_callback';
+}
+
+/**
  * Act on editor profile settings.
  *
  * This hook is invoked from wysiwyg_get_editor_config() after the JavaScript
diff --git a/wysiwyg.module b/wysiwyg.module
index 22130ea..1179924 100644
--- a/wysiwyg.module
+++ b/wysiwyg.module
@@ -886,6 +886,9 @@ function wysiwyg_get_all_editors() {
     $editors[$editor] = array_merge($editors[$editor], $editors[$editor]['versions'][$version]);
     unset($editors[$editor]['versions']);
   }
+
+  drupal_alter('editor', $editors);
+
   return $editors;
 }
 
