diff --git a/lib/Rectors/Studip-6.0-Set.php b/lib/Rectors/Studip-6.0-Set.php
index 438e794ac1d281f854443e2004c1e7c120e1cc5a..abefd25fe6564153482cf43f241f823de3bb4da0 100644
--- a/lib/Rectors/Studip-6.0-Set.php
+++ b/lib/Rectors/Studip-6.0-Set.php
@@ -10,6 +10,7 @@ return RectorConfig::configure()
         Studip\Rectors\Studip60\RemoveGetConfigRector::class,
         Studip\Rectors\Studip60\RemoveSidebarMethodsRector::class,
         Studip\Rectors\Studip60\RewriteCoursewareBlockTypesRector::class,
+        Studip\Rectors\Studip60\ReplacePageCloseRector::class,
     ])
     ->withConfiguredRule(RenameFunctionRector::class, [
         'studip_json_decode' => 'json_decode',
diff --git a/lib/Rectors/Studip60/ReplacePageCloseRector.php b/lib/Rectors/Studip60/ReplacePageCloseRector.php
new file mode 100644
index 0000000000000000000000000000000000000000..62b758c61aabf0f7b3283b36f969be817e34bd3f
--- /dev/null
+++ b/lib/Rectors/Studip60/ReplacePageCloseRector.php
@@ -0,0 +1,27 @@
+<?php
+declare(strict_types=1);
+
+namespace Studip\Rectors\Studip60;
+
+use PhpParser\Node;
+use Rector\Rector\AbstractRector;
+
+final class ReplacePageCloseRector extends AbstractRector
+{
+    public function getNodeTypes(): array
+    {
+        return [Node\Expr\FuncCall::class];
+    }
+
+    public function refactor(Node $node)
+    {
+        if (!$this->isName($node->name, 'page_close')) {
+            return null;
+        }
+
+        return $this->nodeFactory->createMethodCall(
+            $this->nodeFactory->createFuncCall('sess'),
+            'save'
+        );
+    }
+}
diff --git a/rector-test.php b/rector-test.php
index 86f491a7cd0e973592b68b7fe965b5371d595fdc..d91925540b3dd229e8c7cbc8f876099334acaa49 100644
--- a/rector-test.php
+++ b/rector-test.php
@@ -93,3 +93,5 @@ class TestBlockType extends \Courseware\BlockTypes\BlockType
         return \Opis\JsonSchema\Schema::fromJsonString(file_get_contents(__FILE__));
     }
 }
+
+page_close();