diff --git a/ethutil/big.go b/ethutil/big.go
index 891d476ad8063946005ef806a824328fcbed167c..1c25a4784ada5cd24319fa2a2ed065798df1c847 100644
--- a/ethutil/big.go
+++ b/ethutil/big.go
@@ -49,6 +49,10 @@ func BigD(data []byte) *big.Int {
 func BigToBytes(num *big.Int, base int) []byte {
 	ret := make([]byte, base/8)
 
+	if len(num.Bytes()) > base/8 {
+		return num.Bytes()
+	}
+
 	return append(ret[:len(ret)-len(num.Bytes())], num.Bytes()...)
 }