diff --git a/Gemfile b/Gemfile
index 6a1c1e195f..efb7c5c44e 100644
--- a/Gemfile
+++ b/Gemfile
@@ -12,7 +12,7 @@ gem "govspeak"
 gem "govuk_ab_testing"
 gem "govuk_app_config"
 gem "govuk_personalisation"
-gem "govuk_publishing_components"
+gem "govuk_publishing_components", github: "alphagov/govuk_publishing_components", branch: "2949-test-branch"
 gem "htmlentities"
 gem "plek"
 gem "rails-controller-testing"
diff --git a/Gemfile.lock b/Gemfile.lock
index 2053085a93..ff5d9f41e2 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,3 +1,20 @@
+GIT
+  remote: https://github.com/alphagov/govuk_publishing_components.git
+  revision: 33ea81d8a208373fdba7b898c5e4a8058d8125c3
+  branch: 2949-test-branch
+  specs:
+    govuk_publishing_components (44.4.2)
+      chartkick
+      govuk_app_config
+      govuk_personalisation (>= 0.7.0)
+      kramdown
+      ostruct
+      plek
+      rails (>= 6)
+      rouge
+      sprockets (>= 3)
+      sprockets-rails
+
 GEM
   remote: https://rubygems.org/
   specs:
@@ -161,17 +178,6 @@ GEM
     govuk_personalisation (1.0.0)
       plek (>= 1.9.0)
       rails (>= 6, < 8)
-    govuk_publishing_components (44.4.2)
-      chartkick
-      govuk_app_config
-      govuk_personalisation (>= 0.7.0)
-      kramdown
-      ostruct
-      plek
-      rails (>= 6)
-      rouge
-      sprockets (>= 3)
-      sprockets-rails
     govuk_schemas (5.0.4)
       faker (~> 3.4.1)
       json-schema (>= 2.8, < 4.4)
@@ -661,7 +667,7 @@ DEPENDENCIES
   govuk_ab_testing
   govuk_app_config
   govuk_personalisation
-  govuk_publishing_components
+  govuk_publishing_components!
   govuk_schemas
   govuk_test
   htmlentities