EXPECT_EQ(memcmp(send_mem, recv_mem + send_len, send_len), 0);
 }
 
+TEST_F(tls, single_send_multiple_recv_non_align)
+{
+       const unsigned int total_len = 15;
+       const unsigned int recv_len = 10;
+       char recv_mem[recv_len * 2];
+       char send_mem[total_len];
+
+       EXPECT_GE(send(self->fd, send_mem, total_len, 0), 0);
+       memset(recv_mem, 0, total_len);
+
+       EXPECT_EQ(recv(self->cfd, recv_mem, recv_len, 0), recv_len);
+       EXPECT_EQ(recv(self->cfd, recv_mem + recv_len, recv_len, 0), 5);
+       EXPECT_EQ(memcmp(send_mem, recv_mem, total_len), 0);
+}
+
 TEST_F(tls, recv_partial)
 {
        char const *test_str = "test_read_partial";