diff --git a/flag.inc b/flag.inc
index c4b1bee..b5251e3 100644
--- a/flag.inc
+++ b/flag.inc
@@ -1070,7 +1070,7 @@ class flag_flag {
         $default_flag = clone $default_flag;
         $default_flag->fid = $this->fid;
         $default_flag->save();
-        flag_get_flags(NULL, NULL, NULL, TRUE);
+        drupal_static_reset('flag_get_flags');
         return TRUE;
       }
       else {
diff --git a/flag.module b/flag.module
index 33aa272..1879f50 100644
--- a/flag.module
+++ b/flag.module
@@ -1451,8 +1451,6 @@ function flag_get_flag($name = NULL, $fid = NULL) {
  * @param $account
  *   Optional. The user accont to filter available flags. If not set, all
  *   flags for will this node will be returned.
- * @param $reset
- *   Optional. Reset the internal query cache.
  *
  * @return $flags
  *   An array of the structure [fid] = flag_object.
@@ -1461,7 +1459,7 @@ function flag_get_flags($content_type = NULL, $content_subtype = NULL, $account
   static $flags;
 
   // Retrieve a list of all flags, regardless of the parameters.
-  if (!isset($flags) || $reset) {
+  if (!isset($flags)) {
     $flags = array();
 
     // Database flags.
diff --git a/includes/flag.admin.inc b/includes/flag.admin.inc
index e44224b..768a1db 100644
--- a/includes/flag.admin.inc
+++ b/includes/flag.admin.inc
@@ -560,7 +560,7 @@ function _flag_clear_cache() {
   }
   // Reset our flags cache, thereby making the following code aware of the
   // modifications.
-  flag_get_flags(NULL, NULL, NULL, TRUE);
+  drupal_static_reset('flag_get_flags');
   // The title of a flag may appear in the menu (indirectly, via our "default
   // views"), so we need to clear the menu cache. This call also clears the
   // page cache, which is desirable too because the flag labels may have
diff --git a/tests/flag.test b/tests/flag.test
index bcacc9a..a4b47a2 100644
--- a/tests/flag.test
+++ b/tests/flag.test
@@ -55,7 +55,7 @@ class FlagTestCase extends DrupalWebTestCase {
 
     $this->drupalPost(FLAG_ADMIN_PATH . '/add/node/' . $edit['name'], $edit, t('Submit'));
 
-    flag_get_flags(NULL, NULL, NULL, TRUE);
+    drupal_static_reset('flag_get_flags');
     $flag = flag_get_flag($edit['name']);
 
     // Check that the flag object is in the database.
@@ -92,7 +92,7 @@ class FlagTestCase extends DrupalWebTestCase {
 
     $this->drupalPost(FLAG_ADMIN_PATH . '/manage/' . $flag->name, $edit, t('Submit'));
 
-    flag_get_flags(NULL, NULL, NULL, TRUE);
+    drupal_static_reset('flag_get_flags');
     $flag = flag_get_flag($edit['name']);
 
     // Check that the flag object is in the database.
@@ -105,7 +105,7 @@ class FlagTestCase extends DrupalWebTestCase {
 
     // Delete the flag through the UI.
     $this->drupalPost(FLAG_ADMIN_PATH . '/manage/' . $flag->name . '/delete', array(), t('Delete'));
-    flag_get_flags(NULL, NULL, NULL, TRUE);
+    drupal_static_reset('flag_get_flags');
     $this->assertFalse(flag_get_flag($flag->name), t('Flag successfully deleted.'));
   }
 
