diff --git a/mapstructure.go b/mapstructure.go
index 7b4b125..e7765be 100644
--- a/mapstructure.go
+++ b/mapstructure.go
@@ -131,6 +131,11 @@
 
 // Decodes an unknown data type into a specific reflection value.
 func (d *Decoder) decode(name string, data interface{}, val reflect.Value) error {
+	if data == nil {
+		// If the data is nil, then we don't set anything.
+		return nil
+	}
+
 	dataVal := reflect.ValueOf(data)
 	if !dataVal.IsValid() {
 		// If the data value is invalid, then we just set the value
diff --git a/mapstructure_test.go b/mapstructure_test.go
index de2374c..3ac1dda 100644
--- a/mapstructure_test.go
+++ b/mapstructure_test.go
@@ -2,6 +2,7 @@
 
 import (
 	"reflect"
+	"sort"
 	"testing"
 )
 
@@ -195,6 +196,24 @@
 	}
 }
 
+func TestDecode_Nil(t *testing.T) {
+	t.Parallel()
+
+	var input interface{} = nil
+	result := Basic{
+		Vstring: "foo",
+	}
+
+	err := Decode(input, &result)
+	if err != nil {
+		t.Fatalf("err: %s", err)
+	}
+
+	if result.Vstring != "foo" {
+		t.Fatalf("bad: %#v", result.Vstring)
+	}
+}
+
 func TestDecode_NonStruct(t *testing.T) {
 	t.Parallel()
 
@@ -625,7 +644,9 @@
 		t.Fatalf("err: %s", err.Error())
 	}
 
-	expectedKeys := []string{"Vunique", "Vstring"}
+	expectedKeys := []string{"Vstring", "Vunique"}
+
+	sort.Strings(md.Keys)
 	if !reflect.DeepEqual(md.Keys, expectedKeys) {
 		t.Fatalf("bad keys: %#v", md.Keys)
 	}
