diff --git a/puppet-module-pipeline.yaml b/puppet-module-pipeline.yaml
index 9429c5259e9233488aba324b7982b7dd4a9634c7..8bd285a9b12be5ca782a500aa9f896eb95aad627 100644
--- a/puppet-module-pipeline.yaml
+++ b/puppet-module-pipeline.yaml
@@ -32,13 +32,23 @@ pdk-validate:
 
       # For PDK 3.2.0 (it reports as the unreleased 3.1.0)
       if [ "$PDK_VERSION" == "3.1.0" ]; then
-        echo "Locking racc to 1.6.2"
-        sed -e '/"racc"/d' -e "/'racc'/d" -i Gemfile Gemfile.local
-        echo 'gem "racc", "= 1.6.2"' >> Gemfile.local
+        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
+          echo 'gem "racc", "= 1.4.16"' >> Gemfile.local
+
+          echo "Locking rexml to 3.2.3.1"
+          sed -e '/"rexml"/d' -e "/'rexml'/d" -i Gemfile Gemfile.local
+          echo 'gem "rexml", "= 3.2.3.1"' >> Gemfile.local
+        else
+          echo "Locking racc to 1.6.2"
+          sed -e '/"racc"/d' -e "/'racc'/d" -i Gemfile Gemfile.local
+          echo 'gem "racc", "= 1.6.2"' >> Gemfile.local
 
-        echo "Locking rexml to 3.2.5"
-        sed -e '/"rexml"/d' -e "/'rexml'/d" -i Gemfile Gemfile.local
-        echo 'gem "rexml", "= 3.2.5"' >> Gemfile.local
+          echo "Locking rexml to 3.2.5"
+          sed -e '/"rexml"/d' -e "/'rexml'/d" -i Gemfile Gemfile.local
+          echo 'gem "rexml", "= 3.2.5"' >> Gemfile.local
+        fi
       # For PDK 3.0.1
       elif [ "$PDK_VERSION" == "3.0.1" ]; then
         echo "Locking puppet_litmus to 1.2.1"