diff --git a/aws/provider.go b/aws/provider.go
index <HASH>..<HASH> 100644
--- a/aws/provider.go
+++ b/aws/provider.go
@@ -683,20 +683,9 @@ func assumeRoleSchema() *schema.Schema {
 				},
 			},
 		},
-		Set: assumeRoleToHash,
 	}
 }
 
-func assumeRoleToHash(v interface{}) int {
-	var buf bytes.Buffer
-	m := v.(map[string]interface{})
-	buf.WriteString(fmt.Sprintf("%s-", m["role_arn"].(string)))
-	buf.WriteString(fmt.Sprintf("%s-", m["session_name"].(string)))
-	buf.WriteString(fmt.Sprintf("%s-", m["external_id"].(string)))
-	buf.WriteString(fmt.Sprintf("%s-", m["policy"].(string)))
-	return hashcode.String(buf.String())
-}
-
 func endpointsSchema() *schema.Schema {
 	return &schema.Schema{
 		Type:     schema.TypeSet,
provider: Remove assumeRoleHash

The default hash function is good enough to use for the `assume_role` schema,
previously the custom hash function was causing a panic in the provider if the
`assume_role` configuration block was present but empty.