          for methodname in dir(viewset):
              attr = getattr(viewset, methodname)
              httpmethod = getattr(attr, 'bind_to_method', None)
              if httpmethod:
                  dynamic_routes[httpmethod] = methodname
  
          ret = []
          for route in self.routes:
              if route.mapping == {'{httpmethod}': '{methodname}'}:
                  # Dynamic routes (@link or @action decorator)
 
</s> remove         dynamic_routes = {}
 </s> add         dynamic_routes = [] </s> remove                 for httpmethod, methodname in dynamic_routes.items():
 </s> add                 for httpmethod, methodname in dynamic_routes:
                dynamic_routes.append((httpmethod, methodname))
          for methodname in dir(viewset):
              attr = getattr(viewset, methodname)
              httpmethod = getattr(attr, 'bind_to_method', None)
              if httpmethod:
                dynamic_routes.append((httpmethod, methodname))
  
          ret = []
          for route in self.routes:
              if route.mapping == {'{httpmethod}': '{methodname}'}:
                  # Dynamic routes (@link or @action decorator)
keep keep keep keep replace keep keep keep keep keep
 added support for multiple @action and @link decorators on a viewset, along with a router testcase illustrating the failure against the master code base 
rest_framework/routers.py