diff --git a/main/channel.c b/main/channel.c
index 637f1628533ac18a5075cd338e701dd14c61d285..ba34117e03993feabb17306484a79ac50ad3e468 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -4154,6 +4154,12 @@ static void adjust_frame_for_plc(struct ast_channel *chan, struct ast_frame *fra
 	int num_new_samples = frame->samples;
 	struct plc_ds *plc = datastore->data;
 
+
+	/* If this audio frame has no samples to fill in ignore it */
+	if (!num_new_samples) {
+		return;
+	}
+
 	/* First, we need to be sure that our buffer is large enough to accomodate
 	 * the samples we need to fill in. This will likely only occur on the first
 	 * frame we write.