I want only one No Access Message when post contains more than one shortcode. How?

If there is one or more shortcodes protecting content from being viewed, how can I get the Member plugin to print only one No Access Message to the post?

I have four levels in my setup:

Free Registered Member
Paid Member
Paid Premium Member

I have posts that might contain information at all four levels. In other words:

Strangers: they see Post1 - content A for free
Free Registered Members: see Post 1 - content A and B for free
Paid Members: see Post 1 - content A, B, and C for a $$$
Paid Premium Members: see Post 1 - content A, B, C, and D for a $$$

My No Access Message is a link that leads to the registration page where a user can select from the three subscriptions available.

I have this working where the correct content shows depending upon the membership level of the user logged in. My only problem is the "No Access Message": it is printed to the screen once for each of the shortcodes that protect post content. So, when a post contains all four types of content, it has three No Access Messages when viewed by Strangers, two when viewed by Free Registered Members, and one when viewed by Paid Members.

I found a method in the membershippublic class called override_shortcodes() on line 539 that appears to control this using foreach(), but I'm hesitant to modify this. Am I missing an easier way to solve my problem?