diff --git a/packages/ui/src/atoms/Button.js b/packages/ui/src/atoms/Button.js
index cf010417d2aa948d0adb3536d20ea5315a5213b1..72a106f98ab7f37c52eccc6cdcb69140dcb8301f 100644
--- a/packages/ui/src/atoms/Button.js
+++ b/packages/ui/src/atoms/Button.js
@@ -1,7 +1,7 @@
 import React from 'react'
 import styled from 'styled-components'
 
-const BaseButton = styled.button.attrs({
+const BaseStandardButton = styled.button.attrs({
   type: 'button',
 })`
   background: #ddd;
@@ -25,19 +25,20 @@ const BaseButton = styled.button.attrs({
     transform: scale(0.8);
   }
 
-  & ::after {
+  &::after {
     animation: 1s warning;
     opacity: 1;
   }
 `
 
-const PrimaryButton = BaseButton.extend`
+const PrimaryStandardButton = BaseStandardButton.extend`
   background-color: var(--color-primary);
   border: 2px solid transparent;
   border-bottom: 4px solid var(--color-primary);
   color: white;
 
-  &:hover {
+  &:hover,
+  &:focus {
     background: white;
     border: 2px solid var(--color-primary);
     border-bottom: 4px solid var(--color-primary);
@@ -46,16 +47,11 @@ const PrimaryButton = BaseButton.extend`
   }
 
   &:focus {
-    background: white;
-    border: 2px solid var(--color-primary);
-    border-bottom: 4px solid var(--color-primary);
     box-shadow: 0 2px 0 0 var(--color-primary);
-    color: var(--color-primary);
-    outline: 1px solid transparent;
   }
 `
 
-const DisabledButton = BaseButton.extend.attrs({
+const DisabledStandardButton = BaseStandardButton.extend.attrs({
   disabled: true,
 })`
   background: white;
@@ -87,14 +83,51 @@ const DisabledButton = BaseButton.extend.attrs({
   }
 `
 
-const Button = ({ children, disabled, primary, ...props }) => {
-  if (disabled) {
-    return <DisabledButton {...props}>{children}</DisabledButton>
+const plainButtonOverrides = `
+  background: none;
+  border: 0;
+  border-bottom: 2px solid #777;
+  font-style: italic;
+  letter-spacing: 0;
+  padding: 0;
+  text-transform: none;
+
+  &:hover,
+  &:focus {
+    background: transparent;
+    border: 0;
+    border-bottom: 2px solid var(--color-primary);
+    color: var(--color-primary);
+  }
+
+  &:active {
+    transform: scale(0.99);
+  }
+`
+
+const DisabledPlainButton = DisabledStandardButton.extend`
+  ${plainButtonOverrides};
+`
+const BasePlainButton = BaseStandardButton.extend`
+  ${plainButtonOverrides};
+`
+
+const Button = ({ children, disabled, primary, plain, ...props }) => {
+  if (!plain && disabled) {
+    return (
+      <DisabledStandardButton {...props}>{children}</DisabledStandardButton>
+    )
   }
   if (primary) {
-    return <PrimaryButton {...props}>{children}</PrimaryButton>
+    return <PrimaryStandardButton {...props}>{children}</PrimaryStandardButton>
+  }
+  if (plain && disabled) {
+    return <DisabledPlainButton {...props}>{children}</DisabledPlainButton>
+  }
+  if (plain) {
+    return <BasePlainButton {...props}>{children}</BasePlainButton>
   }
-  return <BaseButton {...props}>{children}</BaseButton>
+  return <BaseStandardButton {...props}>{children}</BaseStandardButton>
 }
 
 export default Button
diff --git a/packages/ui/src/atoms/Button.md b/packages/ui/src/atoms/Button.md
index a7871d1b755b82b856d71378e689454757dacaeb..57752f8903378bf20721681f61899d951ec5cdbf 100644
--- a/packages/ui/src/atoms/Button.md
+++ b/packages/ui/src/atoms/Button.md
@@ -1,18 +1,31 @@
-A button.
+A standard button.
 
 ```js
-
 <Button>Save</Button>
 ```
 
-A button can be disabled.
+A standard button can be disabled.
 
 ```js
 <Button disabled>Save</Button>
 ```
 
-A button can be marked as the "primary" action.
+A standard button can be marked as the "primary" action.
 
 ```js
 <Button primary>Save</Button>
 ```
+
+A button can also be "plain" style.
+
+```js
+<Button plain>Plain button</Button>
+```
+
+Or be "plain" style and "disabled".
+
+```js
+<Button plain disabled>
+  Plain button
+</Button>
+```
diff --git a/packages/ui/src/molecules/PlainButton.js b/packages/ui/src/molecules/PlainButton.js
index dc71790905fe3b0defa827ba2580c5795a096deb..7efee5f10a87146a887e0bfdd5502d7d4121d49f 100644
--- a/packages/ui/src/molecules/PlainButton.js
+++ b/packages/ui/src/molecules/PlainButton.js
@@ -1,21 +1,12 @@
 import React from 'react'
-import classnames from 'classnames'
 import Button from '../atoms/Button'
-import classes from './PlainButton.local.scss'
 
-const PlainButton = ({
-  className,
-  children,
-  type,
-  disabled,
-  primary,
-  onClick,
-}) => (
+const PlainButton = ({ className, children, type, disabled, onClick }) => (
   <Button
-    className={classnames(classes.root, className)}
+    className={className}
     disabled={disabled}
     onClick={onClick}
-    primary={primary}
+    plain
     type={type}
   >
     {children}
diff --git a/packages/ui/src/molecules/PlainButton.local.scss b/packages/ui/src/molecules/PlainButton.local.scss
deleted file mode 100644
index 2b196748161d96f86cfa06052ace9ef19932740e..0000000000000000000000000000000000000000
--- a/packages/ui/src/molecules/PlainButton.local.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-.root.root {
-  background: none;
-  border: 0;
-  border-bottom: 2px solid #777;
-  font-style: italic;
-  letter-spacing: 0;
-  padding: 0;
-  text-transform: none;
-}
-
-.root.root:hover,
-.root.root:focus {
-  background: transparent;
-  border: 0;
-  border-bottom: 2px solid var(--color-primary);
-  color: var(--color-primary);
-}
-
-.root.root:active {
-  transform: scale(0.99);
-}