diff --git a/Makefile.objs b/Makefile.objs
index 6498ff7..7973ab2 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -128,7 +128,7 @@ user-obj-y += cutils.o cache-utils.o

 hw-obj-y =
 hw-obj-y += loader.o
-hw-obj-y += virtio.o virtio-console.o virtio-pci.o
+hw-obj-y += virtio.o virtio-console.o virtio-pci.o virtio-serial-bus.o
 hw-obj-y += fw_cfg.o pci.o pci_host.o pcie_host.o
 hw-obj-y += watchdog.o
 hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
diff --git a/Makefile.target b/Makefile.target
index 45c9d40..285c805 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -165,7 +165,7 @@ obj-y = vl.o monitor.o machine.o gdbstub.o
 obj-y += qemu-timer.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
-obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-serial-bus.o
+obj-y += virtio-blk.o virtio-balloon.o virtio-net.o
 obj-y += rwhandler.o
 obj-$(CONFIG_KVM) += kvm.o kvm-all.o
 LIBS+=-lz
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index 17c1ec1..a1c0964 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -122,7 +122,7 @@ static size_t send_control_msg(VirtIOSerialPort
*port, void *buf, size_t len)
     }

     cpkt = (struct virtio_console_control *)buf;
-    stl_p(&cpkt->id, port->id);
+    cpkt->id = port->id;
     memcpy(elem.in_sg[0].iov_base, buf, len);

