diff --git a/puppet-module-pipeline.yaml b/puppet-module-pipeline.yaml
index 80e2e53679ba2c13f07fdfc51b18fa802c97407d..3b08c85a261edb692f2219b732f5a217e282bca2 100644
--- a/puppet-module-pipeline.yaml
+++ b/puppet-module-pipeline.yaml
@@ -30,8 +30,19 @@ pdk-validate:
 
       touch Gemfile Gemfile.local
 
+      # For PDK 3.3.0
+      if [ "$PDK_VERSION" == "3.3.0" ]; then
+        if [ "$PDK_RESOLVED_RUBY_VERSION" == "2.7.8" ]; then
+          echo "Locking io-console to 0.5.6"
+          sed -e '/"io-console"/d' -e "/'io-console'/d" -i Gemfile Gemfile.local
+          echo 'gem "io-console", "= 0.5.6"' >> Gemfile.local
+        else
+          echo "Locking io-console to 0.6.0"
+          sed -e '/"io-console"/d' -e "/'io-console'/d" -i Gemfile Gemfile.local
+          echo 'gem "io-console", "= 0.6.0"' >> Gemfile.local
+        fi
       # For PDK 3.2.0 (it can report as the unreleased 3.1.0)
-      if [ "$PDK_VERSION" == "3.1.0" ] || [ "$PDK_VERSION" == "3.2.0" ]; then
+      elif [ "$PDK_VERSION" == "3.1.0" ] || [ "$PDK_VERSION" == "3.2.0" ]; then
         if [ "$PDK_RESOLVED_RUBY_VERSION" == "2.7.8" ]; then
           echo "Locking racc to 1.4.16"
           sed -e '/"racc"/d' -e "/'racc'/d" -i Gemfile Gemfile.local