diff --git a/sites/default/modules/flag/flag.install b/sites/default/modules/flag/flag.install
index dbe9896..30cf7c9 100644
--- a/sites/default/modules/flag/flag.install
+++ b/sites/default/modules/flag/flag.install
@@ -25,31 +25,6 @@ function flag_install() {
   $success = drupal_install_schema('flag');
 
   if ($success) {
-    // Install a demonstration flag.
-    $flag = flag_flag::factory_by_content_type('node');
-    $configuration = array(
-      'name' => 'bookmarks',
-      'global' => 0,
-      'show_on_page' => 1,
-      'show_on_teaser' => 1,
-      'show_on_form' => 1,
-      // The following UI labels aren't wrapped in t() because they are written
-      // to the DB in English. They are passed to t() later, thus allowing for
-      // multilingual sites.
-      'title' => 'Bookmarks',
-      'flag_short' => 'Bookmark this',
-      'flag_long' => 'Add this post to your bookmarks',
-      'flag_message' => 'This post has been added to your bookmarks',
-      'unflag_short' => 'Unbookmark this',
-      'unflag_long' => 'Remove this post from your bookmarks',
-      'unflag_message' => 'This post has been removed from your bookmarks',
-      'types' => array('story', 'forum', 'blog'),
-    );
-    $flag->form_input($configuration);
-    $flag->save();
-  }
-
-  if ($success) {
     drupal_set_message(st('Flag module installed tables successfully.'));
   }
   else {
diff --git a/sites/default/modules/flag/flag.module b/sites/default/modules/flag/flag.module
index 4ff2f28..07e3e87 100644
--- a/sites/default/modules/flag/flag.module
+++ b/sites/default/modules/flag/flag.module
@@ -212,6 +212,29 @@ function flag_flag_link_types() {
 }
 
 /**
+ * Implementation of hook_default_flags()
+ */
+function flag_flag_default_flags() {
+  $flags = array();
+  $flags[] = array(
+    'name' => 'bookmarks',
+    'global' => 0,
+    'show_on_page' => 1,
+    'show_on_teaser' => 1,
+    'show_on_form' => 1,
+    'title' => 'Bookmarks',
+    'flag_short' => 'Bookmark this',
+    'flag_long' => 'Add this post to your bookmarks',
+    'flag_message' => 'This post has been added to your bookmarks',
+    'unflag_short' => 'Unbookmark this',
+    'unflag_long' => 'Remove this post from your bookmarks',
+    'unflag_message' => 'This post has been removed from your bookmarks',
+    'types' => array('story', 'forum', 'blog'),
+  );
+  return $flags;
+}
+
+/**
  * Implementation of hook_form_alter().
  */
 function flag_form_alter(&$form, &$form_state, $form_id) {
@@ -1367,6 +1390,10 @@ function flag_get_default_flags($include_disabled = FALSE) {
     }
   }
 
+  // Give other modules a chance to change defaults using 
+  // hook_default_flags_alter()
+  drupal_alter('default_flags_alter', $default_flags);
+
   return $default_flags;
 }
 
