diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Link/PageViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Link/PageViewHelper.php
index a38b767b02a53a50db34f3e04bbdbbc5b809c5e3..4ff18fab00cbc9642db05cc20dcf73936740b1da 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Link/PageViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Link/PageViewHelper.php
@@ -24,6 +24,7 @@ use TYPO3\CMS\Backend\Routing\UriBuilder as BackendUriBuilder;
 use TYPO3\CMS\Core\Http\ApplicationType;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\HttpUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Extbase\Mvc\RequestInterface as ExtbaseRequestInterface;
 use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder as ExtbaseUriBuilder;
@@ -166,7 +167,7 @@ final class PageViewHelper extends AbstractTagBasedViewHelper
             $typolinkConfiguration['linkAccessRestrictedPages'] = 1;
         }
         if ($additionalParams) {
-            $typolinkConfiguration['additionalParams'] = $additionalParams;
+            $typolinkConfiguration['additionalParams'] = HttpUtility::buildQueryString($additionalParams, '&');
         }
         if ($absolute) {
             $typolinkConfiguration['forceAbsoluteUrl'] = true;
diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php
index f4736d1a67a4c4532f4150f863b06bf568a2e93b..15e3e631bf9bda09c017592f43814ad15f55e97b 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php
@@ -24,6 +24,7 @@ use TYPO3\CMS\Backend\Routing\UriBuilder as BackendUriBuilder;
 use TYPO3\CMS\Core\Http\ApplicationType;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Utility\HttpUtility;
 use TYPO3\CMS\Core\Utility\MathUtility;
 use TYPO3\CMS\Extbase\Mvc\RequestInterface as ExtbaseRequestInterface;
 use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder as ExtbaseUriBuilder;
@@ -189,7 +190,7 @@ final class PageViewHelper extends AbstractViewHelper
             $typolinkConfiguration['linkAccessRestrictedPages'] = 1;
         }
         if ($additionalParams) {
-            $typolinkConfiguration['additionalParams'] = $additionalParams;
+            $typolinkConfiguration['additionalParams'] = HttpUtility::buildQueryString($additionalParams, '&');
         }
         if ($absolute) {
             $typolinkConfiguration['forceAbsoluteUrl'] = true;
diff --git a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php
index 8cb4fbffc5a7faaebd6cabb6702ad89d3202297a..689040e2ab5afcedd408d01cfd78a24c66b3473e 100644
--- a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Link/PageViewHelperTest.php
@@ -201,6 +201,14 @@ class PageViewHelperTest extends FunctionalTestCase
                 '<f:link.page pageUid="3">linkMe</f:link.page>',
                 '<a href="/dummy-1-2/dummy-1-2-3">linkMe</a>',
             ],
+            'additional parameters one level' => [
+                '<f:link.page pageUid="3" additionalParams="{tx_examples_haiku: \'foo\'}">haiku title</f:link.page>',
+                '<a href="/dummy-1-2/dummy-1-2-3?tx_examples_haiku=foo&amp;cHash=3ed8716f46e97ba37335fa4b28ce2d8a">haiku title</a>',
+            ],
+            'additional parameters two levels' => [
+                '<f:link.page pageUid="3" additionalParams="{tx_examples_haiku: {action: \'show\', haiku: 42}}">haiku title</f:link.page>',
+                '<a href="/dummy-1-2/dummy-1-2-3?tx_examples_haiku%5Baction%5D=show&amp;tx_examples_haiku%5Bhaiku%5D=42&amp;cHash=1e0eb1e54d6bacf0138a50107c6ae29a">haiku title</a>',
+            ],
         ];
     }
 
diff --git a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php
index 4897213b28f9b1fa16e32f17ad3754d26513cfda..832603e22af22947d86408d74c001736189a28ce 100644
--- a/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Functional/ViewHelpers/Uri/PageViewHelperTest.php
@@ -201,6 +201,14 @@ class PageViewHelperTest extends FunctionalTestCase
                 '<f:uri.page pageUid="3" />',
                 '/dummy-1-2/dummy-1-2-3',
             ],
+            'additional parameters one level' => [
+                '<f:uri.page pageUid="3" additionalParams="{tx_examples_haiku: \'foo\'}">haiku title</f:uri.page>',
+                '/dummy-1-2/dummy-1-2-3?tx_examples_haiku=foo&amp;cHash=3ed8716f46e97ba37335fa4b28ce2d8a',
+            ],
+            'additional parameters two levels' => [
+                '<f:uri.page pageUid="3" additionalParams="{tx_examples_haiku: {action: \'show\', haiku: 42}}">haiku title</f:uri.page>',
+                '/dummy-1-2/dummy-1-2-3?tx_examples_haiku%5Baction%5D=show&amp;tx_examples_haiku%5Bhaiku%5D=42&amp;cHash=1e0eb1e54d6bacf0138a50107c6ae29a',
+            ],
         ];
     }