If Python is Ok for you, you can easily do that with that code snippet.
Copy/paste this code into the editor of the Python console, select your line layer and run the script!
from qgis.utils import iface
from qgis.core import QgsVectorLayer, QgsFeature, QgsMapLayerRegistry
layer = iface.activeLayer()
temp = QgsVectorLayer("Point?crs=epsg:2154", "result", "memory")
temp.startEditing()
attrs = layer.dataProvider().fields().toList()
temp_prov = temp.dataProvider()
temp_prov.addAttributes(attrs)
temp.updateFields()
for elem in layer.getFeatures():
feat = QgsFeature()
geom = elem.geometry().interpolate(elem.geometry().length()/2)
feat.setGeometry(geom)
feat.setAttributes(elem.attributes())
temp.addFeatures([feat])
temp.updateExtents()
temp.commitChanges()
QgsMapLayerRegistry.instance().addMapLayer(temp)
This code also takes care of keeping the attributes of the line Layer.
Here is my result on a set of lines: