diff --git a/__tests__/src/components/AttributionPanel.test.js b/__tests__/src/components/AttributionPanel.test.js
index dc3d8ad1c2e648333f6535ff8c37c5537cec8f85..b70b14883db1d6fab661dc89a139e477e400c1f9 100644
--- a/__tests__/src/components/AttributionPanel.test.js
+++ b/__tests__/src/components/AttributionPanel.test.js
@@ -39,14 +39,14 @@ describe('AttributionPanel', () => {
     expect(
       wrapper.find(Typography).at(1).matchesElement(
         <Typography>
-          <Link href="http://example.com">http://example.com</Link>
+          <Link href="http://example.com" underline="hover">http://example.com</Link>
         </Typography>,
       ),
     ).toBe(true);
     expect(
       wrapper.find(Typography).at(2).matchesElement(
         <Typography>
-          <Link href="http://stanford.edu">http://stanford.edu</Link>
+          <Link href="http://stanford.edu" underline="hover">http://stanford.edu</Link>
         </Typography>,
       ),
     ).toBe(true);
diff --git a/__tests__/src/components/ManifestRelatedLinks.test.js b/__tests__/src/components/ManifestRelatedLinks.test.js
index 9653d2d02b7dd2c4c4b2c22dc24c4be68c4c4e3f..d36eff62b4271621e162bebd273e930c974a0430 100644
--- a/__tests__/src/components/ManifestRelatedLinks.test.js
+++ b/__tests__/src/components/ManifestRelatedLinks.test.js
@@ -68,7 +68,7 @@ describe('ManifestRelatedLinks', () => {
       expect(
         wrapper.find(Typography).at(2)
           .matchesElement(
-            <Typography component="dd"><Link href="http://example.com/">Home page</Link></Typography>,
+            <Typography component="dd"><Link href="http://example.com/" underline="hover">Home page</Link></Typography>,
           ),
       ).toBe(true);
     });
@@ -85,7 +85,7 @@ describe('ManifestRelatedLinks', () => {
         wrapper.find(Typography).at(4)
           .matchesElement(
             <Typography component="dd">
-              <Link href="http://example.com/pdf">PDF Version</Link>
+              <Link href="http://example.com/pdf" underline="hover">PDF Version</Link>
             </Typography>,
           ),
       ).toBe(true);
@@ -102,7 +102,7 @@ describe('ManifestRelatedLinks', () => {
       expect(
         wrapper.find(Typography).at(6)
           .matchesElement(
-            <Typography component="dd"><Link href="http://example.com/related">http://example.com/related</Link></Typography>,
+            <Typography component="dd"><Link href="http://example.com/related" underline="hover">http://example.com/related</Link></Typography>,
           ),
       ).toBe(true);
 
@@ -110,7 +110,7 @@ describe('ManifestRelatedLinks', () => {
         wrapper.find(Typography).at(7)
           .matchesElement(
             <Typography component="dd">
-              <Link href="http://example.com/video">Video</Link>
+              <Link href="http://example.com/video" underline="hover">Video</Link>
               <Typography>(video/ogg)</Typography>
             </Typography>,
           ),
@@ -129,7 +129,7 @@ describe('ManifestRelatedLinks', () => {
         wrapper.find(Typography).at(10)
           .matchesElement(
             <Typography component="dd">
-              <Link href="http://example.com/a">A</Link>
+              <Link href="http://example.com/a" underline="hover">A</Link>
               <Typography>(text/html)</Typography>
             </Typography>,
           ),
@@ -138,7 +138,7 @@ describe('ManifestRelatedLinks', () => {
       expect(
         wrapper.find(Typography).at(12)
           .matchesElement(
-            <Typography component="dd"><Link href="http://example.com/b">http://example.com/b</Link></Typography>,
+            <Typography component="dd"><Link href="http://example.com/b" underline="hover">http://example.com/b</Link></Typography>,
           ),
       ).toBe(true);
     });
@@ -154,7 +154,7 @@ describe('ManifestRelatedLinks', () => {
       expect(
         wrapper.find(Typography).at(14)
           .matchesElement(
-            <Typography component="dd"><Link href="http://example.com/">http://example.com/</Link></Typography>,
+            <Typography component="dd"><Link href="http://example.com/" underline="hover">http://example.com/</Link></Typography>,
           ),
       ).toBe(true);
     });
diff --git a/src/components/AttributionPanel.js b/src/components/AttributionPanel.js
index a984d1d6681fb864bbbf2d4e2c000fcbb6de5a4e..5e7b90075010d8e93680cdde9a31e2aad3ac3f57 100644
--- a/src/components/AttributionPanel.js
+++ b/src/components/AttributionPanel.js
@@ -45,7 +45,7 @@ export class AttributionPanel extends Component {
                 <Typography variant="subtitle2" component="dt">{t('rights')}</Typography>
                 { rights.map(v => (
                   <Typography variant="body1" component="dd" key={v.toString()}>
-                    <Link target="_blank" rel="noopener noreferrer" href={v}>
+                    <Link target="_blank" rel="noopener noreferrer" href={v} underline="hover">
                       {v}
                     </Link>
                   </Typography>
diff --git a/src/components/CollectionDialog.js b/src/components/CollectionDialog.js
index d344440b9705ad105b78d849ebbc6254b73f515d..2f478e1adddb1e2e8f298293e35e5fe0a8a50b47 100644
--- a/src/components/CollectionDialog.js
+++ b/src/components/CollectionDialog.js
@@ -212,7 +212,7 @@ export class CollectionDialog extends Component {
                     <Typography variant="subtitle2" component="dt">{t('rights')}</Typography>
                     { rights.map(v => (
                       <Typography variant="body1" component="dd" key={v}>
-                        <Link target="_blank" rel="noopener noreferrer" href={v}>
+                        <Link target="_blank" rel="noopener noreferrer" href={v} underline="hover">
                           {v}
                         </Link>
                       </Typography>
diff --git a/src/components/ManifestRelatedLinks.js b/src/components/ManifestRelatedLinks.js
index 231a8cc27f6b65b11f3e780df2cf99423c793030..dae7773626c552aee5d4b973e01c8648f92f1f00 100644
--- a/src/components/ManifestRelatedLinks.js
+++ b/src/components/ManifestRelatedLinks.js
@@ -47,7 +47,11 @@ export class ManifestRelatedLinks extends Component {
               {
                 homepage.map(page => (
                   <Typography key={page.value} variant="body1" component="dd">
-                    <Link target="_blank" rel="noopener noreferrer" href={page.value}>
+                    <Link
+                      target="_blank"
+                      rel="noopener noreferrer"
+                      href={page.value}
+                      underline="hover">
                       {page.label || page.value}
                     </Link>
                   </Typography>
@@ -61,7 +65,11 @@ export class ManifestRelatedLinks extends Component {
               {
                 renderings.map(rendering => (
                   <Typography key={rendering.value} variant="body1" component="dd">
-                    <Link target="_blank" rel="noopener noreferrer" href={rendering.value}>
+                    <Link
+                      target="_blank"
+                      rel="noopener noreferrer"
+                      href={rendering.value}
+                      underline="hover">
                       {rendering.label || rendering.value}
                     </Link>
                   </Typography>
@@ -75,7 +83,11 @@ export class ManifestRelatedLinks extends Component {
               {
                 related.map(relatedItem => (
                   <Typography key={relatedItem.value} variant="body1" component="dd">
-                    <Link target="_blank" rel="noopener noreferrer" href={relatedItem.value}>
+                    <Link
+                      target="_blank"
+                      rel="noopener noreferrer"
+                      href={relatedItem.value}
+                      underline="hover">
                       {relatedItem.label || relatedItem.value}
                     </Link>
                     { relatedItem.format && (
@@ -92,7 +104,11 @@ export class ManifestRelatedLinks extends Component {
               {
                 seeAlso.map(seeAlsoItem => (
                   <Typography key={seeAlsoItem.value} variant="body1" component="dd">
-                    <Link target="_blank" rel="noopener noreferrer" href={seeAlsoItem.value}>
+                    <Link
+                      target="_blank"
+                      rel="noopener noreferrer"
+                      href={seeAlsoItem.value}
+                      underline="hover">
                       {seeAlsoItem.label || seeAlsoItem.value}
                     </Link>
                     { seeAlsoItem.format && (
@@ -107,7 +123,11 @@ export class ManifestRelatedLinks extends Component {
             <>
               <Typography variant="subtitle2" component="dt">{t('iiif_manifest')}</Typography>
               <Typography variant="body1" component="dd">
-                <Link target="_blank" rel="noopener noreferrer" href={manifestUrl}>
+                <Link
+                  target="_blank"
+                  rel="noopener noreferrer"
+                  href={manifestUrl}
+                  underline="hover">
                   {manifestUrl}
                 </Link>
               </Typography>