diff --git a/viper.go b/viper.go
index d9f97c8..be41206 100644
--- a/viper.go
+++ b/viper.go
@@ -350,19 +350,8 @@
 // Marshals the config into a Struct
 func Marshal(rawVal interface{}) error { return v.Marshal(rawVal) }
 func (v *Viper) Marshal(rawVal interface{}) error {
-	err := mapstructure.Decode(v.defaults, rawVal)
-	if err != nil {
-		return err
-	}
-	err = mapstructure.Decode(v.config, rawVal)
-	if err != nil {
-		return err
-	}
-	err = mapstructure.Decode(v.override, rawVal)
-	if err != nil {
-		return err
-	}
-	err = mapstructure.Decode(v.kvstore, rawVal)
+	err := mapstructure.WeakDecode(v.AllSettings(), rawVal)
+
 	if err != nil {
 		return err
 	}
