diff --git a/mapstructure.go b/mapstructure.go
index 83676f2..5c9c196 100644
--- a/mapstructure.go
+++ b/mapstructure.go
@@ -44,10 +44,6 @@
 		return errors.New("val must be addressable (a pointer)")
 	}
 
-	if val.Kind() != reflect.Struct {
-		return errors.New("val must be an addressable struct")
-	}
-
 	return decode("", m, val)
 }
 
diff --git a/mapstructure_test.go b/mapstructure_test.go
index f55e829..d419e7d 100644
--- a/mapstructure_test.go
+++ b/mapstructure_test.go
@@ -101,6 +101,25 @@
 	}
 }
 
+func TestDecode_NonStruct(t *testing.T) {
+	t.Parallel()
+
+	input := map[string]interface{}{
+		"foo": "bar",
+		"bar": "baz",
+	}
+
+	var result map[string]string
+	err := Decode(input, &result)
+	if err != nil {
+		t.Fatalf("err: %s", err)
+	}
+
+	if result["foo"] != "bar" {
+		t.Fatal("foo is not bar")
+	}
+}
+
 func TestMap(t *testing.T) {
 	t.Parallel()
 
@@ -337,20 +356,6 @@
 	}
 }
 
-func TestNonStructValue(t *testing.T) {
-	t.Parallel()
-
-	result := 42
-	err := Decode(map[string]interface{}{}, &result)
-	if err == nil {
-		t.Fatal("error should exist")
-	}
-
-	if err.Error() != "val must be an addressable struct" {
-		t.Errorf("got unexpected error: %s", err)
-	}
-}
-
 func TestTagged(t *testing.T) {
 	t.Parallel()
 
