diff --git a/packages/model/value_transaction/value_transaction.go b/packages/model/value_transaction/value_transaction.go
index fe1246798e9413e578490599fad8fb2eed13bd0d..6eff46bf9b0521cca88cf7552e549c8e7cafefd8 100644
--- a/packages/model/value_transaction/value_transaction.go
+++ b/packages/model/value_transaction/value_transaction.go
@@ -37,6 +37,7 @@ func New() (result *ValueTransaction) {
 func FromMetaTransaction(metaTransaction *meta_transaction.MetaTransaction) *ValueTransaction {
 	return &ValueTransaction{
 		MetaTransaction: metaTransaction,
+		trits: metaTransaction.GetData(),
 	}
 }
 
@@ -45,6 +46,8 @@ func FromBytes(bytes []byte) (result *ValueTransaction) {
 		MetaTransaction: meta_transaction.FromTrits(ternary.BytesToTrits(bytes)[:meta_transaction.MARSHALLED_TOTAL_SIZE]),
 	}
 
+	result.trits = result.MetaTransaction.GetData()
+
 	return
 }
 
diff --git a/packages/model/value_transaction/value_transaction_test.go b/packages/model/value_transaction/value_transaction_test.go
index eb8310bedc1bbf71b0ae3ade869a1f83cbd9b606..35d3197f57e4d422dd4a528686d808cbadc2ce8c 100644
--- a/packages/model/value_transaction/value_transaction_test.go
+++ b/packages/model/value_transaction/value_transaction_test.go
@@ -14,6 +14,9 @@ func TestValueTransaction_SettersGetters(t *testing.T) {
 	transaction := New()
 	transaction.SetAddress(address)
 
+	transactionCopy := FromMetaTransaction(transaction.MetaTransaction)
+	fmt.Println(transactionCopy.GetAddress())
+
 	assert.Equal(t, transaction.GetAddress(), address)
 	//assert.Equal(t, transaction.GetHash(), FromBytes(transaction.GetBytes()).GetHash())