diff --git a/pages/nucleus/verify/about.js b/pages/nucleus/verify/about.js
index 3144db4..08e7f00 100644
--- a/pages/nucleus/verify/about.js
+++ b/pages/nucleus/verify/about.js
@@ -4,8 +4,7 @@
 import { Code } from '../../../Components/Texttools'
 import { Card, CardRow } from '../../../Components/Card'
 import HCaptcha from 'react-hcaptcha';
-import { useReward } from 'react-rewards'
-import Link from 'next/link'
+import { useReward } from 'react-rewards';
 
 function About(props) {
     const { reward, isAnimating } = useReward('confetti', 'confetti', {
@@ -51,7 +50,7 @@
                     <Divider />
                     <Text>Verification stores the smallest amount of data required to function, and is deleted automatically.</Text>
                     <Text>This includes the user&apos;s ID, the server ID, role name and server icon.</Text>
-                    <Text>The full list of data stored by Nucleus can be found <Link href="https://clicksminuteper.github.io/policies/nucleus">here</Link>.</Text>
+                    <Text>The full list of data stored by Nucleus can be found <a href="https://clicksminuteper.github.io/policies/nucleus">here</a>.</Text>
                 </Panel>
                 <Panel halfSize={true} id="invite">
                     <Title>Invite</Title>
diff --git a/pages/nucleus/verify/failure.js b/pages/nucleus/verify/failure.js
index 75c2296..61b58d0 100644
--- a/pages/nucleus/verify/failure.js
+++ b/pages/nucleus/verify/failure.js
@@ -1,6 +1,5 @@
 import { Component } from 'react'
 import Header from '../../../Components/Header'
-import Link from 'next/link'
 
 class Failed extends Component {
     constructor(props) {
@@ -11,7 +10,7 @@
         return (
             <Header
                 name="Verification failed"
-                subtext={<p>Please try again, and if the error persists please contact us at <Link href="mailto:verification@clicks.codes" target="_blank" rel="noopener noreferrer">verification@clicks.codes</Link></p>}
+                subtext={<p>Please try again, and if the error persists please contact us at <a href="mailto:verification@clicks.codes" target="_blank" rel="noopener noreferrer">verification@clicks.codes</a></p>}
                 gradient={["F27878", "D96B6B"]}
                 wave="web/waves/header/nucleus"
                 buttons={[]}
diff --git a/pages/nucleus/verify/index.js b/pages/nucleus/verify/index.js
index 1f55dec..796298a 100644
--- a/pages/nucleus/verify/index.js
+++ b/pages/nucleus/verify/index.js
@@ -4,8 +4,7 @@
 import React from 'react';
 import Header from '../../../Components/Header'
 import { useReward } from 'react-rewards';
-import { Card, CardRow } from '../../../Components/Card'
-import Link from 'next/link'
+import { Card, CardRow } from '../../../Components/Card';
 
 import { AutoLayout, Panel, Title, Text, Divider } from '../../../Components/Panels';
 import { List, ListItem } from '../../../Components/Texttools';
@@ -72,7 +71,7 @@
                 <List colour="F27878">
                     <ListItem>This is an automatic check performed by Nucleus.</ListItem>
                     <ListItem>By clicking Proceed, you will be given the <code>{props.role_name}</code> role in <code>{props.guild_name}</code>.</ListItem>
-                    <ListItem>For the full list of data stored by Nucleus, please check <Link href="https://clicksminuteper.github.io/policies/nucleus#verification">here</Link></ListItem>
+                    <ListItem>For the full list of data stored by Nucleus, please check <a href="https://clicksminuteper.github.io/policies/nucleus#verification">here</a></ListItem>
                 </List>
                 <div id="confetti" />
             </Panel>
diff --git a/pages/nucleus/verify/testing.js b/pages/nucleus/verify/testing.js
index 036178d..42ac53d 100644
--- a/pages/nucleus/verify/testing.js
+++ b/pages/nucleus/verify/testing.js
@@ -9,7 +9,6 @@
 import { AutoLayout, Panel, Title, Text, Divider } from '../../../Components/Panels';
 import { List, ListItem } from '../../../Components/Texttools';
 import { useColorMode } from 'theme-ui';
-import Link from 'next/link'
 
 function Verify(props) {
     const [clicked, setClicked] = React.useState(false);
@@ -68,7 +67,7 @@
                 <List colour="F27878">
                     <ListItem>This is an automatic check performed by Nucleus.</ListItem>
                     <ListItem>By completing the CAPTCHA, you will be given the <code>MISSING</code> role in <code>ERROR</code>.</ListItem>
-                    <ListItem>For the full list of data stored by Nucleus, please check <Link href="https://clicksminuteper.github.io/policies/nucleus#verification">here</Link></ListItem>
+                    <ListItem>For the full list of data stored by Nucleus, please check <a href="https://clicksminuteper.github.io/policies/nucleus#verification">here</a></ListItem>
                 </List>
                 <div id="confetti" />
             </Panel>
