diff --git a/entry.go b/entry.go
index 052697c..08cc15f 100644
--- a/entry.go
+++ b/entry.go
@@ -38,12 +38,7 @@
 }
 
 func (entry *Entry) WithField(key string, value interface{}) *Entry {
-	data := Fields{}
-	for k, v := range entry.Data {
-		data[k] = v
-	}
-	data[key] = value
-	return &Entry{Logger: entry.Logger, Data: data}
+	return entry.WithFields(Fields{key: value})
 }
 
 func (entry *Entry) WithFields(fields Fields) *Entry {
diff --git a/logrus_test.go b/logrus_test.go
index 96a66a2..82187ae 100644
--- a/logrus_test.go
+++ b/logrus_test.go
@@ -98,3 +98,33 @@
 		assert.Equal(t, fields["msg"], "testtest")
 	})
 }
+
+func TestWithFieldsShouldAllowAssignments(t *testing.T) {
+	var buffer bytes.Buffer
+	var fields Fields
+
+	logger := New()
+	logger.Out = &buffer
+	logger.Formatter = new(JSONFormatter)
+
+	localLog := logger.WithFields(Fields{
+		"key1": "value1",
+	})
+
+	localLog.WithField("key2", "value2").Info("test")
+	err := json.Unmarshal(buffer.Bytes(), &fields)
+	assert.Nil(t, err)
+
+	assert.Equal(t, "value2", fields["key2"])
+	assert.Equal(t, "value1", fields["key1"])
+
+	buffer = bytes.Buffer{}
+	fields = Fields{}
+	localLog.Info("test")
+	err = json.Unmarshal(buffer.Bytes(), &fields)
+	assert.Nil(t, err)
+
+	_, ok := fields["key2"]
+	assert.Equal(t, false, ok)
+	assert.Equal(t, "value1", fields["key1"])
+}
