A while back I upgraded from D6 to D7 using the Drupal upgrade script. A bug that's lingered in my system is broken menus.

For example, on /admin I have a link for both "People" (/admin/people) and "User management" (/admin/user). The link for "User management" is dead, it goes to /admin, and I believe it is a carryover from the D6 install. I can give many more examples if necessary.

Is there a way to remove the broken menu items without affecting my working D7 menu items?

Thanks in advance to anyone that helps!


Unfortunately—and this is not an ideal solution, but seems to be what everyone is using successfully—I have had to use the following brute-force SQL statement in the past.

First, backup your entire Drupal database!

Then, execute this in your favorite SQL manager:

DELETE FROM menu_links WHERE module = 'system';

Then visit /admin/config/development/performance and clear the cache.

  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. May 22 '14 at 16:31
  • Thank you for correcting me, I am new to answering; I have edited my post to include the essential info. May 22 '14 at 16:40
  • This worked for me. Is there any downside? My best guess is some data my be orphaned in the other menu tables. Thanks, Link!
    – guinness74
    May 22 '14 at 23:32
  • @guinness74 downside is - whatever manual rearrangements was done to your menu, are going to be lost. You will get admin menu looking exactly as if you just have installed all your modules. If you don't mind, it shouldn't hurt a bit. Note that shouldn't !== wouldn't and backups are, always, your best friends.
    – Mołot
    May 23 '14 at 6:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.