diff --git a/third_party/gazelle/add-prepatching.patch b/third_party/gazelle/add-prepatching.patch
index edbc94c..2150e96 100644
--- a/third_party/gazelle/add-prepatching.patch
+++ b/third_party/gazelle/add-prepatching.patch
@@ -13,20 +13,21 @@
 limitations under the License.
 
 
-From db55421f284253c06561a4df18bca262999962ce Mon Sep 17 00:00:00 2001
-From: Lorenz Brun <lorenz@nexantic.com>
-Date: Wed, 22 Jul 2020 09:46:56 +0200
+From 2cb763552e2e386928e6c2211c4fb056b9ca7971 Mon Sep 17 00:00:00 2001
+From: Serge Bazanski <serge@nexantic.com>
+Date: Thu, 14 Jan 2021 16:30:32 +0100
 Subject: [PATCH] Add support for prepatching
+Company: nexantic GmbH
 
 ---
- internal/go_repository.bzl | 18 +++++++++++++-----
- 1 file changed, 13 insertions(+), 5 deletions(-)
+ internal/go_repository.bzl | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
 
 diff --git a/internal/go_repository.bzl b/internal/go_repository.bzl
-index 51a7317..86899bd 100644
+index 7f87ed1..a0ef36d 100644
 --- a/internal/go_repository.bzl
 +++ b/internal/go_repository.bzl
-@@ -127,6 +127,8 @@ def _go_repository_impl(ctx):
+@@ -130,6 +130,8 @@ def _go_repository_impl(ctx):
          if result.stderr:
              print("fetch_repo: " + result.stderr)
  
@@ -35,21 +36,8 @@
      # Repositories are fetched. Determine if build file generation is needed.
      build_file_names = ctx.attr.build_file_name.split(",")
      existing_build_file = ""
-@@ -160,7 +162,7 @@ def _go_repository_impl(ctx):
-             "-repo_root",
-             ctx.path(""),
-             "-repo_config",
--            ctx.path(ctx.attr.build_config)
-+            ctx.path(ctx.attr.build_config),
-         ]
-         if ctx.attr.version:
-             cmd.append("-go_repository_module_mode")
-@@ -247,9 +249,13 @@ go_repository = repository_rule(
-             ],
-         ),
-         "build_extra_args": attr.string_list(),
--        "build_config": attr.label(default= "@bazel_gazelle_go_repository_config//:WORKSPACE"),
-+        "build_config": attr.label(default = "@bazel_gazelle_go_repository_config//:WORKSPACE"),
+@@ -263,6 +265,10 @@ go_repository = repository_rule(
+         "build_config": attr.label(default = "@bazel_gazelle_go_repository_config//:WORKSPACE"),
          "build_directives": attr.string_list(default = []),
  
 +        # Patches to apply before running gazelle.
@@ -59,7 +47,7 @@
          # Patches to apply after running gazelle.
          "patches": attr.label_list(),
          "patch_tool": attr.string(default = "patch"),
-@@ -260,10 +266,11 @@ go_repository = repository_rule(
+@@ -273,10 +279,11 @@ go_repository = repository_rule(
  """See repository.rst#go-repository for full documentation."""
  
  # Copied from @bazel_tools//tools/build_defs/repo:utils.bzl
@@ -73,7 +61,7 @@
          command = "{patchtool} {patch_args} < {patchfile}".format(
              patchtool = ctx.attr.patch_tool,
              patchfile = ctx.path(patchfile),
-@@ -276,7 +283,8 @@ def patch(ctx):
+@@ -289,7 +296,8 @@ def patch(ctx):
          if st.return_code:
              fail("Error applying patch %s:\n%s%s" %
                   (str(patchfile), st.stderr, st.stdout))
@@ -84,5 +72,5 @@
          if st.return_code:
              fail("Error applying patch command %s:\n%s%s" %
 -- 
-2.25.1
+2.26.2
 
