diff --git a/mapstructure.go b/mapstructure.go
index 319a8b4..a367a95 100644
--- a/mapstructure.go
+++ b/mapstructure.go
@@ -623,11 +623,12 @@
 		structs = structs[1:]
 
 		structType := structVal.Type()
+
 		for i := 0; i < structType.NumField(); i++ {
 			fieldType := structType.Field(i)
+			fieldKind := fieldType.Type.Kind()
 
 			if fieldType.Anonymous {
-				fieldKind := fieldType.Type.Kind()
 				if fieldKind != reflect.Struct {
 					errors = appendErrors(errors,
 						fmt.Errorf("%s: unsupported type: %s", fieldType.Name, fieldKind))
@@ -646,7 +647,12 @@
 			}
 
 			if squash {
-				structs = append(structs, val.FieldByName(fieldType.Name))
+				if fieldKind != reflect.Struct {
+					errors = appendErrors(errors,
+						fmt.Errorf("%s: unsupported type for squash: %s", fieldType.Name, fieldKind))
+				} else {
+					structs = append(structs, val.FieldByName(fieldType.Name))
+				}
 				continue
 			}
 
diff --git a/mapstructure_test.go b/mapstructure_test.go
index 99fa5e0..45e7284 100644
--- a/mapstructure_test.go
+++ b/mapstructure_test.go
@@ -3,6 +3,7 @@
 import (
 	"reflect"
 	"sort"
+	"strings"
 	"testing"
 )
 
@@ -36,6 +37,10 @@
 	Vunique string
 }
 
+type SquashOnNonStructType struct {
+	InvalidSquashType int `mapstructure:",squash"`
+}
+
 type Map struct {
 	Vfoo   string
 	Vother map[string]string
@@ -270,6 +275,22 @@
 	}
 }
 
+func TestDecode_SquashOnNonStructType(t *testing.T) {
+	t.Parallel()
+
+	input := map[string]interface{}{
+		"InvalidSquashType": 42,
+	}
+
+	var result SquashOnNonStructType
+	err := Decode(input, &result)
+	if err == nil {
+		t.Fatal("unexpected success decoding invalid squash field type")
+	} else if !strings.Contains(err.Error(), "unsupported type for squash") {
+		t.Fatalf("unexpected error message for invalid squash field type: %s", err)
+	}
+}
+
 func TestDecode_DecodeHook(t *testing.T) {
 	t.Parallel()
 
