diff --git a/acceptance/openstack/sharedfilesystems/v2/sharetypes.go b/acceptance/openstack/sharedfilesystems/v2/sharetypes.go
index 7f393d6..c965034 100644
--- a/acceptance/openstack/sharedfilesystems/v2/sharetypes.go
+++ b/acceptance/openstack/sharedfilesystems/v2/sharetypes.go
@@ -36,6 +36,17 @@
 	return shareType, nil
 }
 
+// DeleteShareType will delete a share type. An error will occur if
+// the share type was unable to be deleted.
+func DeleteShareType(t *testing.T, client *gophercloud.ServiceClient, shareType *sharetypes.ShareType) {
+	err := sharetypes.Delete(client, shareType.ID).ExtractErr()
+	if err != nil {
+		t.Fatalf("Failed to delete share type %s: %v", shareType.ID, err)
+	}
+
+	t.Logf("Deleted share type: %s", shareType.ID)
+}
+
 // PrintShareType will print a share type and all of its attributes.
 func PrintShareType(t *testing.T, shareType *sharetypes.ShareType) {
 	t.Logf("Name: %s", shareType.Name)
diff --git a/acceptance/openstack/sharedfilesystems/v2/sharetypes_test.go b/acceptance/openstack/sharedfilesystems/v2/sharetypes_test.go
index 6cb9202..f38b1ab 100644
--- a/acceptance/openstack/sharedfilesystems/v2/sharetypes_test.go
+++ b/acceptance/openstack/sharedfilesystems/v2/sharetypes_test.go
@@ -17,7 +17,7 @@
 		t.Fatalf("Unable to create share type: %v", err)
 	}
 
-	//TODO: delete share type when the delete is implemented
-
 	PrintShareType(t, shareType)
+
+	defer DeleteShareType(t, client, shareType)
 }
diff --git a/openstack/sharedfilesystems/v2/sharetypes/requests.go b/openstack/sharedfilesystems/v2/sharetypes/requests.go
index 97905e3..04153c7 100644
--- a/openstack/sharedfilesystems/v2/sharetypes/requests.go
+++ b/openstack/sharedfilesystems/v2/sharetypes/requests.go
@@ -48,3 +48,9 @@
 	})
 	return
 }
+
+// Delete will delete the existing ShareType with the provided ID.
+func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult) {
+	_, r.Err = client.Delete(deleteURL(client, id), nil)
+	return
+}
diff --git a/openstack/sharedfilesystems/v2/sharetypes/results.go b/openstack/sharedfilesystems/v2/sharetypes/results.go
index 7762dc6..7538581 100644
--- a/openstack/sharedfilesystems/v2/sharetypes/results.go
+++ b/openstack/sharedfilesystems/v2/sharetypes/results.go
@@ -34,3 +34,8 @@
 type CreateResult struct {
 	commonResult
 }
+
+// DeleteResult contains the response body and error from a Delete request.
+type DeleteResult struct {
+	gophercloud.ErrResult
+}
diff --git a/openstack/sharedfilesystems/v2/sharetypes/testing/fixtures.go b/openstack/sharedfilesystems/v2/sharetypes/testing/fixtures.go
index f597b76..0e8ba52 100644
--- a/openstack/sharedfilesystems/v2/sharetypes/testing/fixtures.go
+++ b/openstack/sharedfilesystems/v2/sharetypes/testing/fixtures.go
@@ -59,3 +59,11 @@
         }`)
 	})
 }
+
+func MockDeleteResponse(t *testing.T) {
+	th.Mux.HandleFunc("/types/shareTypeID", func(w http.ResponseWriter, r *http.Request) {
+		th.TestMethod(t, r, "DELETE")
+		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
+		w.WriteHeader(http.StatusAccepted)
+	})
+}
diff --git a/openstack/sharedfilesystems/v2/sharetypes/testing/requests_test.go b/openstack/sharedfilesystems/v2/sharetypes/testing/requests_test.go
index bd70607..22ed2d1 100644
--- a/openstack/sharedfilesystems/v2/sharetypes/testing/requests_test.go
+++ b/openstack/sharedfilesystems/v2/sharetypes/testing/requests_test.go
@@ -59,3 +59,13 @@
 		t.Fatal("ErrMissingInput was expected to occur")
 	}
 }
+
+// Verifies that share type deletion works
+func TestDelete(t *testing.T) {
+	th.SetupHTTP()
+	defer th.TeardownHTTP()
+
+	MockDeleteResponse(t)
+	res := sharetypes.Delete(client.ServiceClient(), "shareTypeID")
+	th.AssertNoErr(t, res.Err)
+}
diff --git a/openstack/sharedfilesystems/v2/sharetypes/urls.go b/openstack/sharedfilesystems/v2/sharetypes/urls.go
index 4ab4f8d..3fb7f18 100644
--- a/openstack/sharedfilesystems/v2/sharetypes/urls.go
+++ b/openstack/sharedfilesystems/v2/sharetypes/urls.go
@@ -5,3 +5,7 @@
 func createURL(c *gophercloud.ServiceClient) string {
 	return c.ServiceURL("types")
 }
+
+func deleteURL(c *gophercloud.ServiceClient, id string) string {
+	return c.ServiceURL("types", id)
+}
